Django迁移删除和更新

时间:2019-08-08 16:42:36

标签: django django-migrations

我已经有一些迁移文件,并且对模型进行了一些更改

python manage.py makemigrations
python manage.py migrate

在那之后,在PostgreSQL表django_migrations中,有一行表明我已经应用了该迁移,我们称其为migrationA。 我删除了新生成的迁移文件(migrationA),在模型中修改了一小段,然后做了

python manage.py makemigrations
python manage.py migrate

这将生成迁移B。我希望这可以像压缩迁移文件一样。

这种流程会造成任何麻烦吗?我现在没有遇到任何麻烦,但想确保这是一种安全的方法。另外,有什么方法可以将postgresql还原为我应用migrationA之前的时间?

1 个答案:

答案 0 :(得分:0)

是的,这会引起麻烦。所有迁移都存储在迁移表中,仅删除迁移将在您的实际迁移和记录的内容之间产生不一致。

在删除迁移并创建新迁移之前,您需要先通过运行./manage.py migrate my_app number_previous_migration_name将其还原。