【发布时间】:2015-09-21 10:07:18
【问题描述】:
通常,当我开始从事一个已经开发了一段时间的 django+south 项目时,我不会为了获得数据库的当前状态而应用所有数百个迁移。我直接去找syncdb --all,从当前模型状态创建一个数据库,然后运行migrate --fake,将所有迁移标记为通过。
在 几秒钟 内,我就有了一个与迁移同步的数据库。 Syncdb 加载初始固定装置。 99% 的情况下,这就是我所需要的。我很高兴。
我现在该怎么做? Syncdb 已弃用,migrate 命令没有忽略迁移的选项,只能从模型类的当前状态创建数据库。
Migrate 命令让我经历了数月的项目开发中的大量迁移。这些迁移有一些我什至不关心的奇怪错误。它也非常缓慢,好像在迁移引擎的实现中出现了问题。
我只想说:“嘿,Django,这是模型,根据模型为我创建一个数据库,然后伪造所有迁移,让我们从那里开始工作”。
我知道我可以在本地删除所有迁移,为所有应用创建首字母并应用它们,但这似乎是一个非常奇怪的解决方法,相当于 syncdb --all。
我错过了什么吗?
【问题讨论】:
-
我想您可以从您拥有的模型中重新创建迁移并运行结果。
-
pytest 正是为了运行测试而这样做的,所以这个功能显然是存在的。它只是不容易访问。
标签: django