Mar*_*vec 1 django postgresql migrate makemigrations
我在使用django模型迁移方面遇到了麻烦.我的应用程序中有一些模型,我已经有了一些数据.当我在我的应用程序中添加一些模型并运行时makemigrations,应用程序报告没有任何变化.我知道迁移时有时会出现一些错误,所以我删除了数据库中的django_migrations表并makemigrations再次运行,现在程序找到了我的新字段.
现在的问题是,如果我运行migrate系统告诉我一些表已经存在.(这是正确的,因为他们这样做).我不想删除那些表,因为我已经有了数据.
我无法运行migrate --fake,因为程序会认为我已经拥有了所有表,这不是真的.
所以,我正在寻找一种告诉程序的方法:运行迁移,如果表存在则跳过它.(--fake它)
另一个问题是为什么会发生这种情况,makemigrations无法识别我的更改(一些缓存问题,......)?
小智 10
这样做怎么样?
python manage.py makemigrations
(如果您已准备好迁移文件,请跳过此步骤)
它将为该包创建迁移,例如使用0001_initial.py之类的名称
手动编辑文件,以便删除除已在数据库中创建的模型之外的所有模型.
现在你做一个虚假的迁移.这将使您的数据库与模型同步.
python manage.py migrate --fake
然后再次运行makemigrations以创建其余的表以及新的迁移文件.
python manage.py makemigrations
关于你的另一个问题,为什么makemigrations没有重新认识你的模型可能是因为以下原因:
| 归档时间: |
|
| 查看次数: |
7527 次 |
| 最近记录: |