【发布时间】:2016-01-13 07:48:03
【问题描述】:
我手动创建了一个 sql 数据库,现在正尝试设置我的 sequelize 模型以匹配我的 sql 表中的列,但是我的模型遇到了与无法识别的字段类型相关的问题。我似乎无法查明错误,以及它是否与我的数据库中某个字段的数据类型不匹配或 sequelize 无法识别我的某些代码有关。
这是我的错误:
/Users/user/Desktop/Projects/node/assistant/node_modules/sequelize/lib/model.js:90
throw new Error('Unrecognized data type for field ' + name);
^
Error: Unrecognized data type for field pattern
at null.<anonymous> (/Users/user/Desktop/Projects/node/assistant/node_modules/sequelize/lib/model.js:90:13)
at /Users/user/Desktop/Projects/node/assistant/node_modules/sequelize/node_modules/lodash/index.js:2874:23
at /Users/user/Desktop/Projects/node/assistant/node_modules/sequelize/node_modules/lodash/index.js:3395:24
at /Users/user/Desktop/Projects/node/assistant/node_modules/sequelize/node_modules/lodash/index.js:3073:15
at baseForOwn (/Users/user/Desktop/Projects/node/assistant/node_modules/sequelize/node_modules/lodash/index.js:2046:14)
at Function.mapValues (/Users/user/Desktop/Projects/node/assistant/node_modules/sequelize/node_modules/lodash/index.js:3394:9)
at new Model (/Users/user/Desktop/Projects/node/assistant/node_modules/sequelize/lib/model.js:74:50)
at Sequelize.define (/Users/user/Desktop/Projects/node/assistant/node_modules/sequelize/lib/sequelize.js:577:15)
at Object.<anonymous> (/Users/user/Desktop/Projects/node/assistant/app/models/imagesModel.js:9:24)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/Users/user/Desktop/Projects/node/assistant/app/routes.js:4:14)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
这是我的模型:
var Sequelize = require('sequelize');
var sequelize = new Sequelize('db', 'admin', 'pwd', {
host: 'database-host',
port: 3306,
dialect: 'mysql'
});
var Images = sequelize.define('images', {
pattern: {
type: sequelize.STRING,
field: 'pattern'
},
color: {
type: sequelize.STRING,
field: 'color'
},
imageUrl: {
type: sequelize.STRING,
field: 'imageUrl'
},
imageSource: {
type: sequelize.STRING,
field: 'imageSource'
},
description_id: {
type: sequelize.INTEGER,
field: 'description_id'
}
});
module.exports = Images;
【问题讨论】:
-
此doc page 将类型显示为
Sequelize.STRING而不是sequelize.STRING。注意前面的大写字母 S。
标签: node.js express sequelize.js