Django数据库迁移问题

Django执行数据库迁移

  • 导致原因:因为迁移文件和数据库中的迁移记录不一致
  • 解决办法 python manage.py migrate app名 --fake 迁移文件名 将指定迁移文件标记为已经映射,这时将不会执行这个迁移文件的Sql语句。
  • 如果不知道是那个迁移文件出现了问题,可以将这个app下面的所有迁移文件全部删除,然后将数据库中迁移文件表django_migrations中这个app的所有迁移文件全部删除,然后将表的字段和类映射对应清楚后使用python manage.py makemigrations app_name生成一个迁移文件,然后使用python manage.py migrate --fake-initial将第一个建表的迁移文件保存到数据库中。

根据数据库生成模型

  • 命令python manage.py inspectdb > 文件路径
  • 需要修正下
    • 名字,可能名字太长,或者会有关键字
    • 模型需要放到相关的app当中
    • 通过外键连接的表需要调整
  • 执行标记命令

你可能感兴趣的:(Django)