使用south实现Django的数据库升级迁移

Technorati 标签: django,south,数据库迁移

Ruby有牛哄哄的Rails Migration实现数据的升级和迁移,django呢? 有south

 

已有的应用要支持south(开发版)

  • 编辑settings.py , 把' ‘south’  放到INSTALLED_APPS 中
  • manage.py syncdb 把south的表(用来记录数据库变化历史的)搞到数据库中去,注意south把syncdb 改了一点点,有什么变化,我现在不关心,要他干的活能干就行
  • manage.py convert_to_south yourappname , south自动生成并应用你的第一次迁移(我喜欢把迁移理解成升级) , 注意这句话对一个项目只能搞一次

model改了,升级数据库(开发版)

  • manage.py schemamigration yourappname --auto, 在yourappname/migrations下生成修改数据库的脚本,下一步迁移(升级)时用这个去改数据库的表结构。
  • manage.py migrate yourappname , 这个命令执行完后,你的数据库结构就和models.py里定义的一样一样了

第一次应用到产品系统 

  • manage.py syncdb  ,生成south表
  • manage.py migrate yourappname 0001 –fake , 做一次初始升级
  • manage.py migrate yourappname , 正式升级
posted @ 2010-05-06 11:56  观无明  阅读(887)  评论(0编辑  收藏  举报