django修改数据库表名

前提

数据库的表名自动生成,按照APPname+表名生成的,但是由于接口需要,表名不可以是这样的构造,只能是表名称自己,不可以加前缀,以下记录一下修改过程以及命令。

Django版本:1.6

第一步:生成空文件,以记录变更

1
2
3
4
命令:python manage.py schemamigration appname --empty name_of_migration

appname:app的name根据实际情况
name_of_migration:最终生成修改记录文件的名称,可以用这个也可以随便取一个别的,就是0001开头的文件,自动保存在migrations目录下

第二步:修改生成的文件

1
2
3
4
5
6
7
8
9
10
打开第一步生成的文件
修改如下部分内容
class Migration(SchemaMigration):
def forwards(self, orm):
db.rename_table('yourapp_foo', 'yourapp_bar')
def backwards(self, orm):
db.rename_table('yourapp_bar','yourapp_foo')

旧名字:yourapp_foo
新名字:yourapp_bar(这里可以用appname+名字,也可以直接写名字)

第三步:同步数据库

1
python manage.py migrate appname