新手友好:Flask-Migrate數據庫遷移教程
### 爲什麼需要數據庫遷移? 開發中數據庫結構需隨需求調整,手動修改易導致數據丟失或版本混亂,遷移工具可安全變更結構並保留數據,類似“數據庫版本控制”。 ### Flask-Migrate是什麼? 它是基於Alembic的Flask工具,用於管理與SQLAlchemy結合的數據庫結構變更,自動生成遷移腳本,避免手動寫SQL。 ### 安裝與初始化 安裝依賴:`pip install flask flask-sqlalchemy flask-migrate`。 初始化:設置`FLASK_APP`環境變量,初始化遷移環境`flask db init`生成`migrations`文件夾,定義模型(如`User`表)。 ### 核心遷移命令 1. **初始化遷移環境**(首次):`flask db init`生成`migrations`文件夾。 2. **生成遷移腳本**:修改模型後執行`flask db migrate -m "描述變更"`,生成SQL腳本。 3. **應用遷移**:`flask db upgrade`使變更生效。 ### 實戰流程 1. 改模型(如新增`age`字段); 2. 生成腳本:`
閱讀全文Flask數據庫操作:SQLAlchemy ORM基礎教程
ORM解決Web開發中直接寫SQL的維護難題,通過Python對象映射數據庫表結構簡化操作。Flask+SQLAlchemy是常用組合,需先安裝`flask`和`flask-sqlalchemy`。 初始化時,配置SQLite數據庫路徑(如`sqlite:///mydatabase.db`)並關閉修改跟蹤。定義模型類(如User)繼承`db.Model`,類屬性對應表字段(含主鍵、約束)。通過`db.create_all()`自動生成表。 核心操作基於會話`db.session`:創建(`add`+`commit`)、讀取(`query.all()`/`filter_by()`/`get()`)、更新(修改屬性+`commit`)、刪除(`delete`+`commit`)。掌握此流程後,可擴展至MySQL等數據庫,探索關係模型等高級特性。
閱讀全文