跳转到主要内容

使用Alembic为Flask应用程序执行SQLAlchemy数据库迁移。

项目描述

Flask-Migrate

Build status

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

然后每次数据库模型更改时,重复执行migrateupgrade命令。

要同步另一个系统中的数据库,只需从源控制刷新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 查看哈希值)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面