Django South:更改FK引用的现有表的主键类型

时间:2014-07-09 08:19:47

标签: mysql django django-south

表格设计是,

Table A:
    - ID - Type Int - Primary Key

Table B:
    - ForeignKey(A)

如何使用south将表A中的ID类型从Int更改为BigInt?

被修改: 我尝试了以下操作,但没有用。

  • 将ID类型更改为BigInt

    db.alter_column('A', 'ID', models.BigIntegerField(primary_key = True))
    

错误:DatabaseError:(1025,"重命名' ./ app /#sql-d7_3f8'到' ./ app / A& #39;(错误:150 - 外键约束形成错误)")

  • 删除PK,以便可以重新创建

    db.delete_primary_key('A')
    

错误:DatabaseError:(1075,'表定义不正确;只能有一个自动列,必须将其定义为键')

1 个答案:

答案 0 :(得分:-1)

进行必要的更改,然后执行以下操作:

python manage.py schemamigration your_app_name --auto

然后最后做:

python manage.py syncdb --migrate