首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用django-south进行迁移

如何使用django-south进行迁移
EN

Stack Overflow用户
提问于 2013-04-19 16:15:50
回答 2查看 750关注 0票数 0

我正在开发的应用程序开始需要迁移数据库模式。我想过django-south,但因为我没有使用这种东西的经验,所以我有点迷茫,这是我的情况:

开发代码:最新的模型,我没有跟踪我对模型所做的更改。

产品代码:运行代码,有旧模型。我们已经配置了服务器,这样我们就可以只使用git拉来进行部署:)

如何在不破坏任何东西的情况下更新生产环境(和数据库)中的代码?我看到了--initial语句,但我不认为它适用于这种情况,也不认为convert_to_south伪造迁移历史,但我仍然不知道我应该做什么。有什么需要帮忙的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-19 16:27:07

最好是为你的项目创建版本控制,然后用Fabric之类的东西来部署它。这将很好地包含您的生产环境。

south没有什么神奇之处,只需将south添加到已安装的应用程序设置中,并运行初始模式迁移,然后运行假迁移(migrate <app_name> --fake),以便south‘知道’您的模型的当前状态。在未来的版本中(包含模式更改),您可以运行schemamigration <app_name> --automigrate <app_name>来相应地更新模型。

要将迁移保留在一个位置,请使用设置文件中的迁移设置:

代码语言:javascript
复制
SOUTH_MIGRATION_MODULES = {
    'app_name_1': 'project_name.migrations.page',
    'app_name_2': 'project_name.migrations.medialibrary',
}
票数 1
EN

Stack Overflow用户

发布于 2013-04-19 22:47:45

您必须检出生产版本(以使模型返回到生产状态),创建初始迁移,将该迁移复制到您的当前开发分支,然后创建模式迁移。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16100206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档