Flask-Migrate实现数据库迁移

Flask-Migrate实现数据库迁移

Flask-迁移是一个扩展,它可以使用Alembic处理针对flask应用程序的SQLAlchemy数据库迁移。数据库操作可以通过flask命令行界面或通过Flask脚本扩展来实现。

安装 Install Flask-Migrate with pip:

pip install Flask-Migrate

这是一个通过flask迁移来处理数据库迁移的示例应用程序: flask.py

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///app.db'

db = SQLAlchemy(app)
migrate = Migrate(app, db)

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(128))

使用上面的应用程序,您可以使用以下命令创建一个迁移存储库:

python flask db init

这将为您的应用程序添加一个迁移文件夹。这个文件夹的内容需要和其他源文件一起添加到版本控制中。 然后,您可以生成初始迁移:

python flask db migrate -m "inition migrate"

迁移脚本需要经过审查和编辑,因为albic目前没有检测到您对模型所做的每一个更改。特别是,Alembic目前无法检测出表名的变化,列名的变化,或者匿名的约束。在albic自动生成文档中可以找到关于限制的详细摘要。完成后,还需要将迁移脚本添加到版本控制中。 然后,您可以将迁移应用到数据库:

python flask db upgrade

你可能感兴趣的:(Flask)