关于django 数据库迁移(migrate)应该知道的一些事

 更新时间:2018年05月27日 16:00:42   作者:Taswy  
今天小编就为大家分享一篇关于django 数据库迁移(migrate)应该知道的一些事,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

命令

首先数据库迁移的两大命令:

python manage.py makemigrations & python manage.py migrate 

前者是将model层转为迁移文件migration,后者将新版本的迁移文件执行,更新数据库。

这两中命令调用默认为全局,即对所有最新更改的model或迁移文件进行操作。如果想对部分app进行操作,就要在其后追加app name:

$ python manage.py makemigrations app_name
$ python manage.py migrate app_name

如果想要精确到某个迁移文件(0004_xxx.py):

$ python manage.py migrate app_name 0004

如果想看迁移文件的执行状态,可以用showmigrations命令查看:

$ python manage.py showmigrations
admin
 [X] 0001_initial
auth
 [X] 0001_initial
 [X] 0002_alter_permission_name_max_length

显示django已知的migrations和状态。

错误

数据库的命令稍有不慎可能就会掉坑。特别是migrate命令,由于django的数据库中包含了migrations的记录,如果migrations文件丢失,很可能造成migrate失败。所以有必要将migrations文件加入版本控制,保证开发时的migrations记录和文件相匹配。

如果migrate出现了失败,很可能是因为migration文件包含的变更信息由于当前数据库的约束无法完完成。这时就应该去数据中找到这些记录或键的位置,删掉重做即可。

一般这些数据存在的表为:外键约束对应的表、auth_permission、django_content_type和django_migrations.

以上这篇关于django 数据库迁移(migrate)应该知道的一些事就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python自定义进程池实例分析【生产者、消费者模型问题】

    Python自定义进程池实例分析【生产者、消费者模型问题】

    这篇文章主要介绍了Python自定义进程池,结合实例分析了Python使用自定义进程池实现的生产者、消费者模型问题,需要的朋友可以参考下
    2016-09-09
  • Python装饰器用法实例总结

    Python装饰器用法实例总结

    这篇文章主要介绍了Python装饰器用法,结合实例形式总结分析了Python装饰器的功能、原理及常见使用方法,需要的朋友可以参考下
    2018-05-05
  • Python编程之序列操作实例详解

    Python编程之序列操作实例详解

    这篇文章主要介绍了Python编程之序列操作,结合实例形式分析了Python序列的功能、相关函数与具体使用技巧,需要的朋友可以参考下
    2017-07-07
  • pytorch下tensorboard的使用程序示例

    pytorch下tensorboard的使用程序示例

    我们都知道tensorflow框架可以使用tensorboard这一高级的可视化的工具,这篇文章主要介绍了pytorch下tensorboard的使用,需要的朋友可以参考下
    2021-10-10
  • 教你用python实现自动回复QQ消息(不到60行)

    教你用python实现自动回复QQ消息(不到60行)

    因为生活中老是忘记各种事情,刚好又在学python,便突发奇想通过python实现提醒任务的功能,下面这篇文章主要给大家介绍了关于用python实现自动回复QQ消息(不到60行)的相关资料,需要的朋友可以参考下
    2022-10-10
  • Python3中的map函数调用后内存释放问题

    Python3中的map函数调用后内存释放问题

    这篇文章主要介绍了Python3中的map函数调用后内存释放问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • Python实现乱序文件重新命名编号

    Python实现乱序文件重新命名编号

    这篇文章主要为大家详细介绍一下Python的一个神操作,那就是实现乱序文件重新命名编号功能,文中的示例代码讲解详细,感兴趣的可以尝试一下
    2022-08-08
  • Python实现在某个数组中查找一个值的算法示例

    Python实现在某个数组中查找一个值的算法示例

    今天小编就为大家分享一篇Python实现在某个数组中查找一个值的算法示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • Python OpenCV实现姿态识别的详细代码

    Python OpenCV实现姿态识别的详细代码

    这篇文章主要介绍了Python OpenCV实现姿态识别的方法,本文通过截图实例代码相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • 深度理解Python中Class类、Object类、Type元类

    深度理解Python中Class类、Object类、Type元类

    本文主要介绍了深度理解Python中Class类、Object类、Type元类,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06

最新评论