当我尝试sails lift
:
info: ·• Auto-migrating... (drop)
error: A hook (`orm`) failed to load!
error:
error: Error: ER_TOO_LONG_KEY: Specified key was too long; max key length is 767 bytes
我现在只有一个型号:
module.exports = {
datastore: 'default',
tableName: 'sci_user',
attributes: {
email: {
type: 'string',
required: true,
unique: true
},
password: {
type: 'string',
required: true
}
}
这很简单,我从文档中得到了它。我不明白。这似乎是因为unique: true
。
答案 0 :(得分:2)
这是由多种因素组合而来的,但最相关的是sails-mysql
当前默认使用字符串属性的utf8mb4
字符集,以允许使用表情符号和其他扩展字符。我们正在开发一个补丁,以使其可配置而非默认,但与此同时,最快的解决方法是直接为您的属性声明columnType
:
module.exports = {
datastore: 'default',
tableName: 'sci_user',
attributes: {
email: {
type: 'string',
required: true,
unique: true,
columnType: 'varchar'
},
password: {
type: 'string',
required: true,
columnType: 'varchar'
}
}