问题背景:
因为django-apscheduler会创建表来存储定时任务的一些信息,所以将app加入之后需要迁移数据:
python manage.py migrate
报错原因:
在迁移时获取错误:
django.db.utils.OperationalError: (1071, ‘Specified key was too long; max key length is 767 bytes’)
解决方法:
保证MySQL正在进行utf8编码 ,执行如下MySQL语句:
ALTER DATABASE `databasename` CHARACTER SET utf8;
参考链接:
django.db.utils.operational错误:(1071,‘指定的密钥太长;最大密钥长度为767字节’)
django.db.utils.OperationalError: (1071, ‘Specified key was too long; max key length is 767 bytes’)
一劳永逸的方法:【mysql创建database时直接指定使用utf8编码】
CREATE DATABASE mydatabase CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;