我正在尝试使用 sequelize 将 postgresql 与我的节点应用程序一起使用。但我不能让它工作。当我运行时,sequelize -m
我得到这个输出:
Loaded configuration file "config/config.json".
Using environment "development".
Running migrations...
20130916100313-create-table-usuarios.js
Completed in 21ms
events.js:74
throw TypeError('Uncaught, unspecified "error" event.');
^
TypeError: Uncaught, unspecified "error" event.
at TypeError (<anonymous>)
at EventEmitter.emit (events.js:74:15)
at null.<anonymous> (/home/alejo/workspace/cloudlogger/api/node_modules/sequelize/lib/migrator.js:95:44)
at EventEmitter.emit (events.js:98:17)
at module.exports.finish (/home/alejo/workspace/cloudlogger/api/node_modules/sequelize/lib/query-chainer.js:138:30)
at exec (/home/alejo/workspace/cloudlogger/api/node_modules/sequelize/lib/query-chainer.js:92:16)
at onError (/home/alejo/workspace/cloudlogger/api/node_modules/sequelize/lib/query-chainer.js:72:11)
at EventEmitter.emit (events.js:95:17)
at /home/alejo/workspace/cloudlogger/api/node_modules/sequelize/lib/migration.js:65:19
at null.<anonymous> (/home/alejo/workspace/cloudlogger/api/node_modules/sequelize/lib/emitters/custom-event-emitter.js:52:38)
这是我的 config.json:
{
"development": {
"username": "cloudlogger",
"password": "foobar",
"database": "cloudlogger_dev",
"dialect":"postgres",
"protocol":"postgres",
"host": "127.0.0.1"
},
"test": {
"username": "cloudlogger",
"password": "foobar",
"database": "cloudlogger_test",
"dialect":"postgres",
"protocol":"postgres",
"host": "127.0.0.1"
},
"production": {
"username": "cloudlogger",
"password": "foobar",
"database": "cloudlogger_pro",
"dialect":"postgres",
"protocol":"postgres",
"host": "127.0.0.1"
}
}
这是 20130916100313-create-table-usuarios.js
module.exports = {
up: function(migration, DataTypes, done) {
migration.createTable('Usuario',{
nombre: {
type: DataTypes.STRING,
allowBlank: false,
},
username: {
type: DataTypes.STRING,
unique: true,
},
genero: {
type: DataTypes.ENUM,
values: ['Hombre', 'Mujer']
},
email: {
type: DataTypes.STRING,
unique: true,
allowBlank: false,
},
password_digest: {
type: DataTypes.STRING,
allowBlank: false,
},
remember_token: DataTypes.STRING,
superadministrador: {
type: DataTypes.BOOLEAN,
defaultValue: false
},
token: DataTypes.STRING,
fecha_token: {
type: DataTypes.DATE,
defaultValue: new Date(0)
},
lastLogin: DataTypes.DATE
}).complete(done);
},
down: function(migration, DataTypes, done) {
migration.dropAllTables().complete(done);
}
}
编辑
如果我评论或更改此行,我隔离了错误:
genero: {
type: DataTypes.ENUM,
values: ['Hombre', 'Mujer']
},
它运作良好。好像是 ENUM 类型的问题