Django 迁移删除和更新



我已经有一些迁移文件,我在模型中进行了一些更改并做了

python manage.py makemigrations
python manage.py migrate

之后在 postgresql 表中django_migrations有一行指示我已经应用了该迁移,我们称之为迁移A。 我删除了新生成的迁移文件 (migrationA(,修改了模型中的一小块,然后做了

python manage.py makemigrations
python manage.py migrate

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

这种流动会不会造成什么麻烦?我现在没有看到任何麻烦,但想确保这是一种安全的做事方式。此外,有没有办法将 postgresql 恢复到我应用 migrationA 之前的时间?

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

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

最新更新