我正在使用South(版本 0.6,打包在 Ubuntu Lucid Lynx 中)来管理 Django 中的数据库迁移,目前使用 SQLite 作为后端。我遇到了一种情况,我生成了一个迁移来添加一个列:
./manage.py startmigration myapp --auto added_new_column
...这产生了一个看起来很合理的迁移。但是,当我随后应用迁移时:
./manage.py migrate myapp
我收到一个错误,因为我添加的列是非 NULL,但我没有指定默认值:
ValueError: You cannot add a null=False column without a default value.
如果迁移以这种方式失败,并且您想返回并重新生成它,应该怎么做?(我在实践中所做的,即删除迁移并生成新的迁移,已经产生了一些进一步的问题。)也许我在文档中遗漏了一些明显的东西......