Django中South的安装及使用
South是Django开发中用户数据库表结构修改后,和已有数据同步的工具。
South的安装
pip install South
South的使用
创建一个没有数据库的新项目时
创建数据库
- 将south添加到INSTALLED_APPS
- 运行syncdb命令,它将django和south的数据表加入到数据库中
- 将你创建的apps添加到INSTALLED_APPS
- 对每个app分别运行“python manage.py schemamigration app_name –initial”,它将在每个app的目录下创建migration目录和相应的文件
- 然后运行“python manage.py migrate app_name”,这一步将app的数据表加入到数据库中
在带有数据库的已存项目中使用south
- 将south加入到INSTALLED_APPS中
- 运行syncdb,它将south的数据表加入到数据库中
- 对每个app分别运行python manage.py schemamigration app_name –initial,它将在每个app的目录下创建migration目录和相应的文件
- 对每个app分别运行“python manage.py migrate app_name 0001 –fake”,该命令不会对数据库做任何操作,只是欺骗一下south,让它在south_migrationhistory表中添加一些记录以便于下次你想创造migration文件的时候所有东西都已搞定。
在没有数据库的已存项目中使用south
- 创建数据库
- 将south加入到INSTALLED_APPS中
- 对每个app分别运行“python manage.py schemamigration app_name –initial”,它将在每个app的目录下创建migration目录和相应的文件
- 运行syncdb,它将所有没有migrations的apps加入到数据库中
- 然后运行“python manage.py migrate”命令,它将对你的所有apps运行迁移操作。