flask 数据迁移
在Flask中使用数据库迁移,通常我们会结合SQLAlchemy和Alembic来管理数据库的迁移。以下是一个基本的数据迁移流程:
-
安装Flask-Migrate:
-
pip install Flask-Migrate
-
-
配置Flask应用和数据库:
from flask import Flask from flask_sqlalchemy import SQLAlchemy from flask_migrate import Migrateapp = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://user:password@localhost/database'db = SQLAlchemy(app) migrate = Migrate(app, db)
以下是一个简单的示例,演示了如何在Flask应用中使用SQLAlchemy和Alembic进行数据库迁移。
from flask import Flask from flask_sqlalchemy import SQLAlchemy from flask_migrate import Migrateapp = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'pymysql://user:password@localhost/database'db = SQLAlchemy(app)# 定义模型 class User(db.Model):id = db.Column(db.Integer, primary_key=True)username = db.Column(db.String(80), unique=True, nullable=False)email = db.Column(db.String(120), unique=True, nullable=False)def __repr__(self):return '<User %r>' % self.username# 初始化迁移 Migrate(app, db)# 如果是第一次运行,需要初始化迁移环境 # $ flask db init# 创建迁移脚本 # $ flask db migrate -m "initial migration"# 应用迁移 # $ flask db upgrade# 回滚迁移 # $ flask db downgradeif __name__ == '__main__':app.run()