您的位置:首页 > 数据库

用于Django工程数据库同步改动的South

2013-11-15 15:41 295 查看
安装

Debian :

apt-get install python-django-south

Fedoras:
yum install Django-south
如果你能使用easy_install :
easy_install South
Django 里的配置

settings.py: 在INSTALLED_APPS的最后添加 'south'
此时 在python manage.py shell下,import south如果不报错就是安装好了。
运行:

python manage.py syncdb
让south能track数据库表
使用

south是通过migration来作为中间过渡来同步models.py与数据库表的,可以理解成,south先把你的models.py里面描述的数据库表的内容用一个migration来保存,然后把这个migration同步到真正的数据库。

如果你是通过 python manage.py startapp myapp建立的名字叫myapp的app。
south在产生第一个migration的时候需要使用-- initial参数:

python manage.py schemamigration myapp --initial
运行成功之后,将产生一个你的models.py对应的migration,然后使用下面命令来把他同步到数据库:

python manage.py migrate myapp
在经过initial之后,以后models.py的每次改动就不需要这个参数了,以后使用 --atuo参数就可以来产生对应的migration

假设我们现在已经改动了models.py,需要将改动同步到数据库表

先让south产生对应的migration:

python manage.py schemamigration myapp --auto
然后将这个migration同步到数据库:

python manage.py migrate myapp

好了,在去看看自己的数据库,已经按照改动的models.py同步了。

如果想要在已经存在的app上使用

运行:

python manage.py syncdb
python manage.py convert_to_south myapp


here more details
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: