【发布时间】:2014-09-29 17:58:01
【问题描述】:
这快把我逼疯了。我确定我做错了什么,但我不知道是什么。我正在开发一个 Django 项目,并且我经常需要更改一些内容以更好地适应其余部分。
直到 Django 1.6,没有问题。每当我想更改一些模型、字段等时,我都会这样做并运行syncdb。但是现在,对于迁移,syncdb 只是迁移的别名,它太努力变得聪明了。你重命名了这个字段吗?您是否删除了该字段?你必须指定一个默认值......你在乎什么,那些只是测试数据。核爆他们,我会输入新的。尽管我诚实的回答,我仍然得到“列不存在”、“数字不能转换为 hstore”、“十进制不是 JSON 可序列化”和其他奇迹。我想一旦项目投入生产,迁移肯定会有很大帮助。但是,当我正在开发它时,请放过我。 :-/
我尝试删除myapp/migrations 目录。我尝试从 psql 中删除 django_migrations 表。我又试了manage startapp myapp。我试过manage flush。它暂时有效,但一段时间后,该项目仍然以某种方式“记住”了之前模型中的内容,并大发雷霆。
请问,有什么正常的方式可以说“只删除所有表,重置所有数据,读取 models.py,然后从中重新创建数据库”? syncdb 过去的工作方式。
【问题讨论】: