【问题标题】:south. migrate entire database南。迁移整个数据库
【发布时间】:2010-12-25 03:45:05
【问题描述】:

如何一步迁移整个数据库? south 的 startmigration 命令只能用于单个应用程序

【问题讨论】:

    标签: django django-south


    【解决方案1】:

    如果您想创建迁移,manage.py startmigration 已被弃用(请参阅manage.py help startmigration),您应该使用manage.py schemamigration(如the docs 中所述),并且您绝对应该使用在每个应用上单独执行此操作。

    如果你想运行迁移(换句话说,我猜是对数据库进行实际更改),如果运行的话,命令是manage.py migrate不带任何参数,将您的所有应用迁移到最新的可用迁移。

    我的部署脚本只有manage.py migrate,无论有多少应用需要运行新的迁移,它都可以在没有人工干预的情况下正常工作。

    【讨论】:

    • 在内部,这不是一个步骤,因为在幕后,正在运行多个迁移并正在执行多个 SQL 语句。然而,它只是一个只需要输入一次的命令,所以从执行它的人的角度来看,它只是一个步骤。
    【解决方案2】:

    即使使用原始 SQL,您也无法在一步中迁移整个数据库,因为您需要对每个表进行查询。但是,您可以为所有应用程序创建迁移,然后一次运行它们。这是您最接近一步迁移的方法。

    【讨论】:

    • thats the problem. how automate this process if I dont 知道最后会有多少应用程序吗?
    • 应用程序应该反映在数据库中,反之亦然。因此,如果您了解数据库,就应该了解您的应用程序。
    猜你喜欢
    • 2014-07-30
    • 2014-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多