Sequelize Migration Error
I am using Sequelize 2.0.0-rc3 and the error I am facing appears; it looks like I wrote the migration correctly, but I get an error trying to run it. I am using Postgresql on the server. Everything seems to be working fine; this is a new, isolated question. Document table table and ID exists (it was created in a previous migration, but did not find that it does not automatically increase the number of IDs, so tried to create this migration to add an auto-increment).
var p = require('bluebird');
module.exports = {
up: function (migration, DataTypes, done) {
var promises = [];
promises.push(
migration.changeColumn(
'Document',
'id',
{
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true,
allowNull: false
}
));
p.all(promises).then(done.bind(null, null)).catch(function (err) {
console.error('Migration Failed: ', err);
done(err);
});
},
down: function (migration, DataTypes, done) {
done();
}
};
Possibly unhandled TypeError: Cannot call push method on undefined in Object.module.exports.QueryGenerator.dataTypeMapping (/Users/csimpson/code/temp-cause-server/node_modules/sequelize/lib/dialects/postgres/query-generator.js: 848: 32) in ObjectModule.exports.QueryGenerator.pgDataTypeMapping (/Users/csimpson/code/temp-cause-server/node_modules/sequelize/lib/dialects/postgres/query-generator.js:843:19) in Object.module .exports.QueryGenerator.changeColumnQuery (/Users/csimpson/code/temp-cause-server/node_modules/sequelize/lib/dialects/postgres/query-generator.js:250:31) to module.exports.QueryInterface.changeColumn (/ Users / csimpson / code / temp-cause-server / node_modules / sequelize / lib / query-interface.js: 345: 37) to module.exports.Migration.(anonymous function) [as changeColumn] (/Users/csimpson/code/temp-cause-server/node_modules/sequelize/lib/migration.js:26:50) in / Users / csimpson / code / temp -cause-server / database / migration1241216000001-alter-id-increment.js: 8: 41 in tryCatch1 (/Users/csimpson/code/temp-cause-server/node_modules/sequelize/node_modules/bluebird/js/main/util.js:45:21 ) in Promise $ _callHandler [as _callHandler] (/Users/csimpson/code/temp-cause-server/node_modules/sequelize/node_modules/bluebird/js/main/promise.js:660:13) in Promise $ _settlePromiseFromHandler [as _settlePromiseFromHandler [as ] (/Users/csimpson/code/temp-cause-server/node_modules/sequelize/node_modules/bluebird/js/main/promise.js:675:18) in Promise $ _settlePromiseAt (/ Users / csimpson / code / temp-cause -server / node_modules / sequelize / node_modules / bluebird / js / main / promise.js: 845: 14)fourteen)fourteen)50) in / Users / csimpson / code / temp -cause-server / database / migration1241216000001-alter-id-increment.js: 8:41 in tryCatch1 (/ Users / csimpson / code / temp-cause-server / node_modules / sequelize /node_modules/bluebird/js/main/util.js:45:21) in Promise $ _callHandler [as _callHandler] (/ Users / csimpson / code / temp-cause-server / node_modules / sequelize / node_modules / bluebird / js / main /promise.js:660:13) in Promise $ _settlePromiseFromHandler [as _settlePromiseFromHandler] (/Users/csimpson/code/temp-cause-server/node_modules/sequelize/node_modules/bluebird/js/main/promise18.js:675 ) in Promise $ _settlePromiseAt (/Users/csimpson/code/temp-cause-server/node_modules/sequelize/node_modules/bluebird/js/main/promise.js:845:14)50) in / Users / csimpson / code / temp -cause-server / database / migration1241216000001-alter-id-increment.js: 8:41 in tryCatch1 (/ Users / csimpson / code / temp-cause-server / node_modules / sequelize /node_modules/bluebird/js/main/util.js:45:21) in Promise $ _callHandler [as _callHandler] (/ Users / csimpson / code / temp-cause-server / node_modules / sequelize / node_modules / bluebird / js / main /promise.js:660:13) in Promise $ _settlePromiseFromHandler [as _settlePromiseFromHandler] (/Users/csimpson/code/temp-cause-server/node_modules/sequelize/node_modules/bluebird/js/main/promise18.js:675 ) in Promise $ _settlePromiseAt (/Users/csimpson/code/temp-cause-server/node_modules/sequelize/node_modules/bluebird/js/main/promise.js:845:14)21) in Promise $ _callHandler [as _callHandler] (/Users/csimpson/code/temp-cause-server/node_modules/sequelize/node_modules/bluebird/js/main/promise.js:660:13) in Promise $ _settlePromiseFromHandler [as _settlePromiseFromHandler] (/Users/csimpson/code/temp-cause-server/node_modules/sequelize/node_modules/bluebird/js/main/promise.js:675:18) in Promise $ _settlePromiseAt (/ Users / csimpson / code / temp- cause-server / node_modules / sequelize / node_modules / bluebird / js / main / promise.js: 845: 14)21) in Promise $ _callHandler [as _callHandler] (/Users/csimpson/code/temp-cause-server/node_modules/sequelize/node_modules/bluebird/js/main/promise.js:660:13) in Promise $ _settlePromiseFromHandler [as _settlePromiseFromHandler] (/Users/csimpson/code/temp-cause-server/node_modules/sequelize/node_modules/bluebird/js/main/promise.js:675:18) in Promise $ _settlePromiseAt (/ Users / csimpson / code / temp- cause-server / node_modules / sequelize / node_modules / bluebird / js / main / promise.js: 845: 14)18) in Promise $ _settlePromiseAt (/Users/csimpson/code/temp-cause-server/node_modules/sequelize/node_modules/bluebird/js/main/promise.js:845:14)18) in Promise $ _settlePromiseAt (/Users/csimpson/code/temp-cause-server/node_modules/sequelize/node_modules/bluebird/js/main/promise.js:845:14)
source to share
I ran into an error Possibly unhandled TypeError: Cannot call method 'push' of undefined
. I was also trying to add a field id
to an existing table that I created in a previous migration.
My fix had two parts:
1) Add unique: true
to column id
.
2) Revert the previous migration (where I created the table that I want to add a column to id
) and then run both migrations at the same time.
Until I followed both of these methods, my migration attempts failed.
source to share