South在Django中使用

South是一个针对Django的数据库迁移工具,弥补了syncdb的不足,能自动检测并同步models的更改到数据库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



South概述

针对django自带的syncdb同步models和数据库的缺陷开发的数据迁移工具。

South可以作为syncdb的替代,South能够检测对models的更改并同步到数据库。


South基本用法
新建的项目使用South
1. 安装完South之后,要在django项目中使用South,先要将South作为一个App导入项目,所以在Django项目的settings.py中的INSTALL_APP下添加south。

2. Django中本身的app,还是可以通过Django自带的命令来同步到数据库中(包括South app的south_migrationhistory表也是此时创建)
python manage.py syncdb

3. 对于Django项目中自己创建的app,需要通过以下命令来
python manage.py schemamigration yourappname --initial     # 会在youappname目录下面创建一个migrations的子目录,
                                                           # 含有migrations包
#以后每次对models更改后,可以运行以下两条命令同步到数据库   
python manage.py schemamigration yourappname --auto       # 检测对models的更改
python manage.py migrate yourappnam                        # 将更改反应到数据库
已有的项目中使用South:

1. 对于一个已存在的项目(定义了models,创建了相应的数据库,保存了响应的数据),这时想要使用South替代原来的syncdb只需要一些简单的步骤

2. 同样需要现在INSTALL_APP里面添加south,然后:
python manage.py syncdb      # syncdb已经被South更改,用来创建south_migrationhistory表

python manage.py convert_to_south yourappname   # 在yourappname目录下面创建migrations目录以及第一次迁移需要的migration包


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值