使用【django_apscheduler定时任务迁移数据库时报错】django.db.utils.OperationalError: (1071,‘指定的密钥太长;最大密钥长度为767字节‘)

阅读 49

2022-03-11

问题背景:

因为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;

精彩评论(0)

0 0 举报