使用Alembic为Flask应用程序执行SQLAlchemy数据库迁移。
项目描述
Flask-Migrate
Flask-Migrate是一个扩展,用于通过Alembic为Flask应用程序执行SQLAlchemy数据库迁移。数据库操作作为命令行参数提供,在flask db
命令下。
安装
使用pip
安装Flask-Migrate
pip install Flask-Migrate
示例
这是一个通过Flask-Migrate处理数据库迁移的示例应用程序
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))
使用上述应用程序,您可以使用以下命令创建数据库或启用迁移(如果数据库已存在)
$ flask db init
请注意,根据Flask文档设置FLASK_APP
环境变量,此命令才能正常工作。这将在您的应用程序中添加一个migrations
文件夹。此文件夹的内容需要与您的其他源文件一起添加到版本控制中。
然后您可以生成一个初始迁移
$ flask db migrate
迁移脚本需要审查和编辑,因为Alembic当前无法检测您对模型所做的每个更改。特别是,Alembic当前无法检测索引。一旦最终确定,迁移脚本也需要添加到版本控制中。
然后您可以应用迁移到数据库
$ flask db upgrade
然后每次数据库模型更改时,重复执行migrate
和upgrade
命令。
要同步另一个系统中的数据库,只需从源控制刷新migrations
文件夹并运行upgrade
命令。
要查看所有可用的命令,请运行此命令
$ flask db --help
资源
项目详情
下载文件
下载适合您平台文件的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
Flask-Migrate-4.0.7.tar.gz (21.8 kB 查看哈希值)
构建分布
Flask_Migrate-4.0.7-py3-none-any.whl (21.1 kB 查看哈希值)
关闭
Flask-Migrate-4.0.7.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | dff7dd25113c210b069af280ea713b883f3840c1e3455274745d7355778c8622 |
|
MD5 | eaeddc08bcc2f1910647ff246e597bff |
|
BLAKE2b-256 | 3be24008fc0d298d7ce797021b194bbe151d4d12db670691648a226d4fc8aefc |
关闭
Flask_Migrate-4.0.7-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5c532be17e7b43a223b7500d620edae33795df27c75811ddf32560f7d48ec617 |
|
MD5 | 2860c09a26a203c7376b4a6282788685 |
|
BLAKE2b-256 | 9301587023575286236f95d2ab8a826c320375ed5ea2102bb103ed89704ffa6b |