python - flask-migrate 按字母顺序进行迁移
问题描述
使用flask-migrate
and flask-script
,我设置了我的项目,这样我只需要做
python manage.py db migrate
在迁移文件夹中,我得到诸如
0f46602752b7_.py
8fdf8259859b_.py
不能保证第一次迁移先于第二次迁移。Django 通过在所有迁移前加上一个自动递增的数字来解决这个问题。我们可以告诉 flask-migrate / alembic 做同样的事情吗?
理想情况下,上例中的两个文件是
001_8fdf8259859b_.py
002_0f46602752b7_.py
解决方案
如果您检查每个迁移文件,您会发现以下行:
revision = '09364330399c'
down_revision = None
down_revision
代表前面的迁移。如果您真的想更改命名约定,可以通过向file_template
您的alembic.ini
以下文档:
file_template - 这是用于生成新迁移 > 文件的命名方案。存在的值是默认值,因此被注释掉。可用的代币包括:
%%(rev)s - revision id %%(slug)s - a truncated string derived from the revision message %%(year)d, %%(month).2d, %%(day).2d, %%(hour).2d, %%(minute).2d, %%(second).2d - components of the create date, by default datetime.datetime.now() unless the timezone configuration option is also used.
对于您的特定示例,请在其中添加以下行alembic.ini
file_template = %%(year)d%%(month).2d%%(day).2d_%%(hour).2d%%(minute).2d%%(second).2d_%%(rev)s_%%(slug)s
它将生成一个文件名,例如
20190527_122029_de2c595ec169_hello_world.py
推荐阅读
- go - 在 Mac 上的 golang 中使用 AF_ROUTE 添加路由
- perl - 如何在文件中搜索最后一次出现的字符串并在perl中获取下一行
- python - 按间隔拆分行 Pandas
- testing - 如果至少有 1 次成功执行,如何配置 TestCafe 隔离模式以通过?
- ios - 单元格中的按钮后索引超出范围错误有效吗?
- keycloak - Keycloak Admin API - 创建用户并将多个用户分配给一个角色时的自定义用户 ID
- java - 如何从另一个 Oracle 数据库查询
- android - 使用最常见的库 react-native-ble-manager 耗尽 BluetoothGatt 对象的 React-native android
- regex - 正则表达式名称验证
- node.js - 如何使用 newman.js 对整个数据执行邮递员收集?