zoukankan      html  css  js  c++  java
  • Django 同步数据库命令syncdb,makemigrations,migrate

    syncdb只支持新增模型到数据库中

    2条命令

    你将使用2条命令进行迁移和操纵数据库schema:

    • migrate,用来使迁移生效,以及未生效时报告它们的状态。
    • makemigrations,用来根据你对模型做的变更创建新的迁移脚本。

    值得注意的是,迁移是创建和运行在每个应用程序的基础上。特别是,对部分应用程序不使用迁移是可能的(称为“不迁移”的应用),这些应用程序将取代模拟只是添加新的模型传统的行为。

     

    你应该把迁移作为你的数据库架构版本控制系统。makemigrations负责包装你的模型变更到独立的迁移文件中-类似于提交代码-migrate负责应用到你的数据库中。

     

    迁移文件存放在每个应用程序的一个“migrations”目录中,被设计成提交,和作为发布的一部分,到代码库中。你应该在你的开发机器上使用它们,然后在你的同事的机器上运行相同的迁移脚本,staging machines,最终在你的生产机器。

     

    注意

    在逐个app基础上,覆盖存放迁移脚本的包的名字是可以的,只要修改MIGRATION_MODULES设置。

    迁徙将在相同的数据集上以相同的方法运行并产生一致的结果,这意味着你将看到在开发阶段,staging阶段,在相同的情况下,和生产环境上的表现完全一致。

     

    Django会迁移你对模型或字段所做的任何变更 - 甚至是不影响数据库的选项 - 因为唯一能正确的重建一个字段的方式是记录它发生所有的变更,而你可能需要这些选项应用在以后的一些数据迁移中(例如,如果你设置了自定义验证器)。

    详细信息参考:https://docs.djangoproject.com/en/dev/topics/migrations/

  • 相关阅读:
    AJAX
    Aliyun服务器配置Redis
    Aliyun服务器配置MySQL
    Python基础之迭代器详解
    Python基础之函数
    Flask入门--URL
    认识Web
    肖知兴:企业的底层逻辑与企业家的突破(下)
    建造者模式(Bulider模式)详解
    为什么我强烈推荐你用枚举来实现单例模式
  • 原文地址:https://www.cnblogs.com/whiteprism/p/6177992.html
Copyright © 2011-2022 走看看