django - 如何开始使用 django South 数据库迁移?

标签 django database-migration django-south

我最近从一次相当严重的服务器崩溃中恢复过来,我的主机(滑稽地)在失败的机架迁移中删除了整个服务器。幸运的是,我已经进行了一些备份,并且服务器已恢复并运行。我一直想开始使用 South,并认为这可能会帮助我将来进行升级。

目前,我在本地计算机上进行开发,然后将更改推送到我的生产服务器。以前这是一次相当痛苦的经历,但南看起来可以让这一切变得更容易。

就目前情况而言,我的开发机器有一些更改尚未到达生产服务器,但我想将这些更改推出。开发机器和生产服务器都链接到存储所有代码的 subversion 帐户。

问题..

  1. 如何在两台计算机上安装 South。
  2. 如何使用它将开发计算机上的更改迁移到生产环境。

简单示例..

例如,这是否有效:

  1. 为生产服务器上的每个应用安装 South 并创建初始迁移。
  2. 将更改提交到 svn
  3. 从生产服务器转储数据库
  4. 查看本地计算机上 svn 的最新更改。

此时开发机器应该与生产服务器匹配,对吗?现在将我的更改从开发服务器更新到生产服务器:

  1. 将我的本地更改复制到开发计算机上 checkout 的副本上,并使用 South 为我的更新创建迁移。
  2. 提交对 .svn 的更改
  3. 在生产服务器上运行迁移以更新架构更改并将数据迁移到新数据库

这行得通吗?

最佳答案

  1. 看看 http://south.readthedocs.org/en/latest/convertinganapp.html#converting-an-app
  2. 除此之外,它相当简单:

    在开发上:

    • 修改模型
    • ./manage.py schemamigration 应用程序 --auto
    • ./manage.py 迁移
    • 检查事情是否正常
    • 提交

    在产品上:

    • 结账
    • ./manage.py 迁移
    • 重新启动服务器

关于django - 如何开始使用 django South 数据库迁移?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10986185/

相关文章:

python - 新数据库上的南迁移

Django 模型 - 更改选择字段中的选项并迁移

django - 在 Heroku 上使用 Grunt 处理 Django 应用程序的静态文件

python - Docker:优雅地停止 django 服务器

php - 媒体库未在 Wordpress 中显示 + 某些插件的图标

ruby-on-rails - rails 迁移。使用 change_column 将整数值转换为 bool 值

django - 下载二进制文件数据

django - GEOSGeometry 创建多边形时出错

mysql - 与截断语句的标准定义混淆

django - 无法在 Django 1.7 中创建 South 数据库模型