Django 修改model后同步修改数据库

http://blog.chinaunix.net/uid-26880392-id-3217071.html


Django 当前版本syncdb只在新建models时能自动生成数据库。

但开发时偶尔需要修改数据库结构的情况,比如:添加字段、修改字段等。这时候,syncdb就不好用了。

常见的办法分两类:1、删除整个数据库,重新syncdb;
2、或者手工修改数据库。

两者都需要执行sql命令,如果没有数据库的管理界面,可以使用django的数据库执行命令。

> python manage.py shell
>>> from django.db import connection, transaction
>>> cursor = connection.cursor()
>>> cursor.execute("alter table saying_saying add lang varchar(10) NOT NULL default en ")
>>> transaction.commit_unless_managed()

另一个方法也很简单。
使用 manager.py 的sql类的命令输出sql语句,然后使用dbshell命令调用数据库管理命令行。
如:
python manage.py sql XXX
python manage.py dbshell
>  alter table saying_userprofile add "reputation" integer NOT NULL default 1;


参考:Django-1.4Doc/topics/db/sql.html#executing-custom-sql-directly



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值