Flask-Migrate实现数据库迁移

来源:互联网 发布:java界面布局类型 编辑:程序博客网 时间:2024/05/20 05:55

Flask-Migrate实现数据库迁移

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

安装 Install Flask-Migrate with pip:

pip install Flask-Migrate

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

from flask import Flaskfrom flask_sqlalchemy import SQLAlchemyfrom flask_migrate import Migrateapp = 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
原创粉丝点击