Bagaimana untuk Mengintegrasikan Pangkalan Data MySQL Sedia Ada ke dalam Aplikasi Flask Menggunakan SQLAlchemy?

Linda Hamilton
Lepaskan: 2024-11-09 08:11:02
asal
1028 orang telah melayarinya

How to Integrate an Existing MySQL Database into a Flask Application Using SQLAlchemy?

Menyepadukan Pangkalan Data MySQL Sedia Ada ke dalam Aplikasi Flask

Anda menghadapi cabaran untuk menyepadukan pangkalan data MySQL sedia ada dengan aplikasi Flask anda menggunakan SQLAlchemy. Walaupun Flask tidak terlibat secara langsung dalam senario yang melibatkan pangkalan data yang mantap, memahami pendekatan optimum adalah penting.

Memahami SQLAlchemy

SQLAlchemy ialah ORM yang berkuasa (Object-Relational rangka kerja pemetaan) yang merapatkan jurang antara pangkalan data Python dan SQL. Untuk menggunakan SQLAlchemy dengan berkesan dengan pangkalan data sedia ada, adalah disyorkan untuk mengetepikan pertimbangan Flask buat sementara waktu. Fokus pada mendapatkan kebiasaan dengan asas SQLAlchemy.

Mencipta Model Asas

Ikuti langkah ini untuk mencipta model asas untuk SQLAlchemy untuk mencerminkan jadual pangkalan data sedia ada anda:

  1. Gunakan create_engine() untuk mewujudkan sambungan ke MySQL anda pangkalan data.
  2. Tentukan kelas asas menggunakan declarative_base() untuk menjana kelas Python untuk jadual pangkalan data.
  3. Gunakan Base.metadata.reflect(enjin) untuk mengisi kelas asas secara automatik dengan jadual pangkalan data sedia ada.

Contoh Kod Coretan

from sqlalchemy import create_engine, declarative_base

engine = create_engine('mysql://<username>:<password>@<host>:<port>/<database>', echo=True)
Base = declarative_base()
Base.metadata.reflect(engine)
Salin selepas log masuk

Mentakrifkan Perhubungan Jadual

Setelah model asas dicipta, wujudkan perhubungan antara jadual pangkalan data menggunakan model perhubungan SQLAlchemy. Tentukan persatuan ibu bapa-anak atau satu-ke-banyak mengikut keperluan.

Contoh Coretan Kod

class Users(Base):
    __table__ = Base.metadata.tables['users']

class Orders(Base):
    __table__ = Base.metadata.tables['orders']

Users.orders = relationship("Orders", backref="user")
Salin selepas log masuk

Menguji Sambungan

Setelah perhubungan ditakrifkan, anda boleh menguji sambungan ke pangkalan data anda. Buka sesi pangkalan data dan laksanakan pertanyaan mudah menggunakan model pertanyaan SQLalchemy.

Contoh Coretan Kod

from sqlalchemy.orm import scoped_session, sessionmaker

db_session = scoped_session(sessionmaker(bind=engine))
for item in db_session.query(Users.id, Users.name):
    print(item)
Salin selepas log masuk

Menyepadukan dengan Flask

Dengan pemahaman yang kukuh tentang SQLAlchemy, anda kini boleh menyepadukan pangkalan data sedia ada anda aplikasi Flask anda. Gunakan pengawal dan pandangan untuk mendedahkan kefungsian pangkalan data anda dalam konteks Flask.

Atas ialah kandungan terperinci Bagaimana untuk Mengintegrasikan Pangkalan Data MySQL Sedia Ada ke dalam Aplikasi Flask Menggunakan SQLAlchemy?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan