我已经有一些迁移文件,并且对模型进行了一些更改
python manage.py makemigrations
python manage.py migrate
在那之后,在PostgreSQL表django_migrations中,有一行表明我已经应用了该迁移,我们称其为migrationA。 我删除了新生成的迁移文件(migrationA),在模型中修改了一小段,然后做了
python manage.py makemigrations
python manage.py migrate
这将生成迁移B。我希望这可以像压缩迁移文件一样。
这种流程会造成任何麻烦吗?我现在没有遇到任何麻烦,但想确保这是一种安全的方法。另外,有什么方法可以将postgresql还原为我应用migrationA之前的时间?
答案 0 :(得分:0)
是的,这会引起麻烦。所有迁移都存储在迁移表中,仅删除迁移将在您的实际迁移和记录的内容之间产生不一致。
在删除迁移并创建新迁移之前,您需要先通过运行./manage.py migrate my_app number_previous_migration_name
将其还原。