如何取消应用 django 1.7 中的第一次迁移 [重复]
Posted
技术标签:
【中文标题】如何取消应用 django 1.7 中的第一次迁移 [重复]【英文标题】:How to unapply the very first migration in django 1.7 [duplicate] 【发布时间】:2015-01-24 12:42:27 【问题描述】:看起来回滚到任何迁移都可以使用:
./manage.py migrate <app> <migration_to_go_to>
但是,这需要应用实际迁移,我需要回滚第一次迁移!
具体来说,我想回滚内置的“会话”应用(它只有一个迁移,“0001_initial”。)
有没有办法做到这一点?
谢谢!
【问题讨论】:
我认为你是对的。因为我用不同的术语考虑了这个问题(“取消应用”而不是“迁移回来”,“非常第一个”而不是“初始”)我没有看到那个问题。 【参考方案1】:只要做:
./manage.py migrate <app> zero
【讨论】:
这确实删除了所有表和迁移历史记录,但并没有删除我的0001_initial.py
迁移文件。请确认我是否应该手动删除它?
这有点取决于您通过向后迁移尝试实现的目标。在运行向后迁移之前,您可能会从对迁移系统的更深入了解中受益,因为如果使用不当,它们会让您一团糟!有两个迁移命令。 makemigrations
将查看您的模型,将它们与任何迁移文件进行比较,并创建您需要的任何必要的迁移文件。它不与数据库交互。另一方面,migrate
根据那里的任何迁移文件在您的数据库上运行命令。它不会添加/删除迁移文件。
这是zero
而不是0000
,这太疯狂了以上是关于如何取消应用 django 1.7 中的第一次迁移 [重复]的主要内容,如果未能解决你的问题,请参考以下文章