功能:
South是django的一个的第三方App,能够检测对models的更改并同步到数据库,弥补了syncdb的一些不足,是很好的替代工具。
安装:
1. 使用pip安装:
pip install South
2. 加入到工程中:
打开settings.py,在INSTALLED_APPS中加入'south'
3. 执行syncdb:
python manage.py syncdb
基本使用:
1. 对于新建工程,在创建app之后,可以执行:
python manage.py schemamigration appname --initial
即可生成初始的数据库迁移,然后执行以下命令:
python manage.py migrate appname
使其生效。
2. 对于已经存在的app,则需要使用如下命令进行初始的转换:
python manage.py convert_to_south appname
然后执行:
python manage.py migrate appname
使其生效。
3. 当对model进行修改之后,执行:
python manage.py schemamigration appname --auto
即可让South发现对表进行的修改并生成新的迁移,之后执行:
python manage.py migrate appname
所做的修改即可以反映到数据库中。
配置:
默认的,South会在每个app目录下生成一个migrations目录,如果希望自定义该目录,可以在settings里增加一项配置以达到自定义的目的:
SOUTH_MIGRATION_MODULES={
'appname':'myproject.migrations.appname',
...
}