我最近从一次相当严重的服务器崩溃中恢复过来,我的主机(滑稽地)在失败的机架迁移中删除了整个服务器。幸运的是,我已经进行了一些备份,并且服务器已恢复并运行。我一直想开始使用 South,并认为这可能会帮助我将来进行升级。
目前,我在本地计算机上进行开发,然后将更改推送到我的生产服务器。以前这是一次相当痛苦的经历,但南看起来可以让这一切变得更容易。
就目前情况而言,我的开发机器有一些更改尚未到达生产服务器,但我想将这些更改推出。开发机器和生产服务器都链接到存储所有代码的 subversion 帐户。
问题..
- 如何在两台计算机上安装 South。
- 如何使用它将开发计算机上的更改迁移到生产环境。
简单示例..
例如,这是否有效:
- 为生产服务器上的每个应用安装 South 并创建初始迁移。
- 将更改提交到 svn
- 从生产服务器转储数据库
- 查看本地计算机上 svn 的最新更改。
此时开发机器应该与生产服务器匹配,对吗?现在将我的更改从开发服务器更新到生产服务器:
- 将我的本地更改复制到开发计算机上 checkout 的副本上,并使用 South 为我的更新创建迁移。
- 提交对 .svn 的更改
- 在生产服务器上运行迁移以更新架构更改并将数据迁移到新数据库
这行得通吗?
最佳答案
- 看看 http://south.readthedocs.org/en/latest/convertinganapp.html#converting-an-app
除此之外,它相当简单:
在开发上:
- 修改模型
- ./manage.py schemamigration 应用程序 --auto
- ./manage.py 迁移
- 检查事情是否正常
- 提交
在产品上:
- 结账
- ./manage.py 迁移
- 重新启动服务器
关于django - 如何开始使用 django South 数据库迁移?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10986185/