Я пытаюсь использовать postgresql с помощью моего приложения-узла, используя sequelize. Но я не могу заставить его работать. Когда я бегу sequelize -m
я получаю этот выход:Не удалось выполнить переназначение миграции (postgres)
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 создать стол-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);
}
}
EDIT
Я выделил ошибку, если я c или изменить это направление:
genero: {
type: DataTypes.ENUM,
values: ['Hombre', 'Mujer']
},
это работает хорошо. Кажется, что проблема связана с ENUM типа
Просто к сведению, это, кажется, изменилось в последнее http://docs.sequelizejs.com/en/latest/docs/модели четкости / – theptrk