outh概述
* 针对django自带的syncdb同步models和数据库的缺陷开发的数据迁移工具,可以作为syncdb的替代,South能够检测对models的更改并同步到数据库.
South基本用法
* 安装完South之后,要在django项目中使用South,先要将South作为一个App导入项目,所以设置INSTALL_APP添加south
* 第一次使用South(对于已存在的项目转用South见下一步的介绍)
<strong>
python manage.py schemamigration youappname --initial
# --initial在数据库创建models定义的表,以及South需要的south_migrationhistory表
#另外会在youappname目录下面创建一个migrations的子目录
#以后每次对models更改后,可以运行以下两条命令同步到数据库
python manage.py schemamigration youappname --auto #检测对models的更改
python manage.py migrate youappnam #将更改反应到数据库</strong>
迁移到South
* 对于一个已存在的项目(定义了models,创建了相应的数据库,保存了响应的数据),这时想要使用South替代原来的syncdb只需要一些简单的步骤:
* 同样需要现在INSTALL_APP里面添加south,然后 python manage.py syncdb #syncdb已经被South更改,用来创建south_migrationhistory表
<strong>
python manage.py syncdb #syncdb已经被South更改,用来创建south_migrationhistory表
python manage.py convert_to_south youappname #在youappname目录下面创建migrations目录以及第一次迁移需</strong>