首页 > 其他 > 详细

Django 迁移错误 Cannot add foreign key constraint

时间:2019-10-19 14:51:56      阅读:238      评论:0      收藏:0      [点我收藏+]

错误分析

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

解决方案:

 

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

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!