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 , 正式升级