码迷,mamicode.com
首页 > 其他好文 > 详细

Django 迁移错误 Cannot add foreign key constraint

时间:2019-10-19 15:01:30      阅读:85      评论:0      收藏:0      [点我收藏+]

标签:info   tps   cti   arc   关联表   const   set   img   ref   

错误分析

更换数据库后
字符集错误
就是原来的库和新的库在外键的字符集上不一样
 
如图:
技术图片
 

解决方案:

 

1.迁移先需要失败一次(既然出现了这个错误,说明已经迁移了一次)

2.修改当前表外键字段的字符集(或者说COLLATE),修改为外键关联表的字符集

  1. 查看表的创建语句(主要是查看外键关联表主键的字符集)
    SHOW CREATE TABLE `user_group` (查看创建表的命令)
  2. 修改字符集
    ALTER TABLE user_group_info MODIFY employee_id VARCHAR(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

3.手动给新表添加外键约束

alter table user_group_info add constraint `user_group_info_id_869a94b79388475b_fk_employee_info_id` foreign key (`employee_id`) REFERENCES `employee_info` (`id`) ON DELETE SET NULL ON UPDATE NO ACTION;

4.第二次迁移加上fake

python manage.py migrate --fake

 

 

Django 迁移错误 Cannot add foreign key constraint

标签:info   tps   cti   arc   关联表   const   set   img   ref   

原文地址:https://www.cnblogs.com/fixdq/p/11703649.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!