没有数据库的 Alembic 迁移

Posted

技术标签:

【中文标题】没有数据库的 Alembic 迁移【英文标题】:Alembic Migrations without Database 【发布时间】:2016-05-21 15:55:43 【问题描述】:

是否可以在没有访问数据库的情况下拥有 Alembic auto-generate migrations?

例如 django / south 可以通过 comparing the current version of a Model against a previous snapshot of the Model 做到这一点。

【问题讨论】:

你有没有想过这个问题? 我没弄明白。 见:bitbucket.org/zzzeek/alembic/issues/117/… 【参考方案1】:

不,这是不可能的。在the relevant issuezzzeek 说

虽然基于反射的比较有其问题,但如今它确实是一个非常基本的假设,尤其是在 openstack 世界中,在单元测试套件中使用 autogen 功能以确保迁移的模式与模型匹配。我目前没有计划采用基于数据文件的方法,对于一个人们似乎基本可以接受的系统来说,这将是一项艰巨的任务。

虽然另一种方法可能是按需启动新数据库,运行从空到头的迁移,针对它生成,然后丢弃数据库。

【讨论】:

以上是关于没有数据库的 Alembic 迁移的主要内容,如果未能解决你的问题,请参考以下文章

4.alembic数据迁移工具

四十八:数据库之alembic常用命令和经典错误的解决办法

在烧瓶迁移或 alembic 迁移中创建种子数据

在烧瓶迁移或 alembic 迁移中创建种子数据

四十七:数据库之alembic数据库迁移工具的基本使用

有没有一种简单的方法来告诉 alembic 迁移到特定版本?