BLOG
Enjoy when you can, and endure when you must.
APR 07, 2013/Django
South - syncdb的替代

功能:

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',

       ...

   }

COMMENTS
LEAVE COMMNT