Blog·Tanky WooABOUTRSS

django修改models.py后同步更新到数据库

23 May 2012
这篇博客是从旧博客 WordPress 迁移过来,内容可能存在转换异常。

一般在django项目的models.py中写了新的数据库类以后,都用:

python manage syncdb

来同步生成数据库。

但是如果修改了已同步的数据库类,则此命令无效。

django的设计原则是,对于包含数据的表的维护,一般是手工来做的。


虽然django有一个命令:

django-admin.py reset appname

但是此命令会清空数据表内容。

手动修改数据库时,有三种方法:

1.直接mysql –u root –p登录mysql,找到相应数据库,修改表。

2.manage.py有一个dbshell(传送门):

它会根据settings.py中的数据库设置,选择相应数据库并使用帐号密码登录。

然后可以:

alter table [tablename] add column [columnname] [columntype];

eg:alter table weblog add column tag varchar(30);

3.可以python manage.py shell,然后使用django提供的数据库操作来解决。

其他方法:
[http://blog.codylab.com/django-update-model/](http://blog.codylab.com/django-update-model/)