flask连接数据库,数据库迁徙
时间: 2025-01-04 22:26:31 浏览: 8
### Flask 数据库迁移教程
#### 使用 Flask-Migrate 进行数据库版本控制
为了有效地管理数据库结构变化并保持数据的一致性和安全性,在 Flask 应用程序中引入 `Flask-Migrate` 是一种常见做法。此工具基于 Alembic 构建,支持自动检测模型定义中的变更,并生成相应的升级脚本。
安装必要的依赖包是第一步操作,需确保环境中已包含如下组件:
```bash
pip install flask-migrate
```
初始化项目以启用迁移功能涉及几个关键步骤。首先是在应用程序实例化之后配置 SQLAlchemy 和 Migrate 扩展:
```python
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///site.db'
db = SQLAlchemy(app)
migrate = Migrate(app, db)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(20), unique=True, nullable=False)
```
一旦设置完毕,则可通过命令行界面执行特定的任务来维护数据库状态。以下是常用的操作指令及其作用:
- **创建初始迁移环境**
当首次准备使用迁移特性时,应建立一个新的迁移仓库用于存储历史记录和其他元数据:
```bash
flask db init
```
- **构建新的修订版文件**
修改了 `models.py` 中的数据表定义后,可利用该命令自动生成描述差异的新修订版文件:
```bash
flask db migrate -m "Initial migration."
```
- **应用最新的更改至实际数据库**
将当前工作区内的最新修订应用于目标数据库,使其实现同步更新:
```bash
flask db upgrade
```
每当需要调整现有架构或添加新实体类时,重复上述过程即可轻松完成相应改动的部署。值得注意的是,每次提交前都建议先备份重要资料以防意外丢失[^1]。
阅读全文