iT邦幫忙

0

Day 07 - 讓資料永久保存:認識 SQLAlchemy 與資料庫建置

  • 分享至 

  • xImage
  •  

前幾天的 API 我們用的都是寫死在程式碼裡的清單來模擬資料庫,只要伺服器一重開,新增的資料就會人間蒸發。為了解決這個問題,從今天開始我們要正式導入資料庫。

在 FastAPI 的生態系中,最常搭配的資料庫操作工具是 SQLAlchemy。它是一個強大的 ORM (Object-Relational Mapping) 套件,核心概念是讓開發者可以用「寫 Python 物件」的方式來操作資料庫,而不用親自去寫繁瑣的 SQL 語法(例如 SELECT、INSERT)。

首先,在終端機安裝 SQLAlchemy 套件:

pip install sqlalchemy

接著,我們建立一個名為 database.py 的檔案來設定資料庫連線。為了方便本機端測試與繳交作業,我們先使用 Python 內建的輕量級資料庫 SQLite:

from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker, declarative_base

SQLALCHEMY_DATABASE_URL = "sqlite:///./sql_app.db"

engine = create_engine(
SQLALCHEMY_DATABASE_URL, connect_args={"check_same_thread": False}
)
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)

Base = declarative_base()

這段程式碼的核心是建立了一個 engine(負責驅動資料庫)以及 SessionLocal(用來開啟資料庫對話的工作階段)。最後宣告的 Base 是所有資料表的基底,明天我們就會用到它。


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言