数据库迁移相关错误

Django数据库迁移的错误

当我们在使用Django的ORM时,一般分为三步

  • 在models.py中设置模型
  • 执行makemigrations
  • 执行migrate

在这三步总会多多少少的遇到一些错误,编者以比较常见的错误为例,提出了一些解决方法。

一、错误描述

1、创建了新的字段,数据库中无

2、执行了makemigrations后手动在数据库中删除了表

  • 再次执行时没有报错却也没在数据库中生成表
  • 再次执行时报错说并不存在那样一个文件或者目录

二、解决方法

1.添加字段后数据库中无

这种情况一般是没有执行迁移映射操作,只需要

  1. 在虚拟机中,进入到相应的项目地址,然后
python manage.py makemigrations app_name
python manage.py migrate app_name

==app_name==为创建的app名

  1. 或者在pycharm 中,点击tools->start ssh session

再进入相应的项目地址输入上述命令

  1. 或者在pycharm中,点击tools->Run manage.py Task

    直接输入makemigrations app_name执行不出错后,再输入migrate app_name

2.数据库中删表引起的错

解决方法是,

1.将app文件包中的

pycharm中名为news的app下面的文件

这类文件删除,即前带有序号的文件删除

  1. 打开数据库,将数据库中表django_migrations与相应app模型表的数据删除,这里以app为doc为例

    数据库中表django_migrations里app字段值为doc的信息

    使用代码,将相应信息删除【其中的app为字段,app_name为创建的app名】

    delete from django_migrations where app = 'app_name'
    
  2. 重新同步文件后,再次执行makemigrations 和 migrate操作。【见解决方法1】

三、联系方式

如果您有什么意见或者建议,欢迎与我联系!

邮箱:[email protected]

备用:[[email protected]]

你可能感兴趣的:(数据库迁移相关错误)