错误分析
更换数据库后
字符集错误
就是原来的库和新的库在外键的字符集上不一样
如图:
解决方案:
1.迁移先需要失败一次(既然出现了这个错误,说明已经迁移了一次)
2.修改当前表外键字段的字符集(或者说COLLATE),修改为外键关联表的字符集
- 查看表的创建语句(主要是查看外键关联表主键的字符集)
SHOW CREATE TABLE `user_group` (查看创建表的命令)
- 修改字符集
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