我刚刚将nodejs软件包db-migrate安装到一个现有的nodejs项目中。就连接到数据库而言,一切似乎都已正确配置。
Database.json:
{
"development": "postgres://blabla",
"production": "postgres://blabla"
}
迁移:
var dbm = global.dbm || require('db-migrate');
var type = dbm.dataType;
exports.up = function(db, callback) {
db.createTable('users', {
id: { type: 'int', primaryKey: true, autoIncrement: true },
username: { type: 'string', unique: true }
}, callback);
};
exports.down = function(db, callback) {
db.dropTable('users', callback);
};
无论我尝试在任何参数变形下运行 db-migrate up
,例如指定数据库文件、迁移、迁移数量等,该命令每次都会引发错误:
每当我尝试运行db-migrate up
(无论是指定数据库文件、迁移、迁移数量等的任何变体),该命令每次都会引发错误:
[ERROR] TypeError: Cannot read property '1' of null
at Class.extend.parseName (C:\Users\test\Projects\nodejs\cirio-crm\node_modules\db-migrate\lib\skeleton.js:162:17)
at Class.Skeleton.extend.init (C:\Users\test\Projects\nodejs\cirio-crm\node_modules\db-migrate\lib\migration.js:35:24)
at Class.prototype.(anonymous function) [as init] (C:\Users\test\Projects\nodejs\cirio-crm\node_modules\db-migrate\lib\class.js:36:24)
at new Class (C:\Users\test\Projects\nodejs\cirio-crm\node_modules\db-migrate\lib\class.js:49:17)
at C:\Users\test\Projects\nodejs\cirio-crm\node_modules\db-migrate\lib\migration.js:312:14
at Array.map (native)
at C:\Users\test\Projects\nodejs\cirio-crm\node_modules\db-migrate\lib\migration.js:311:35
at FSReqWrap.oncomplete (fs.js:95:15)
我已尝试更改表格名称、更改字段、调整CRLF行结尾、安装不同版本的nodejs和db-migrate等。
有任何想法吗?
yyyyMMddhhmmss-<一些文本>
。 - cavpolloYYYYMMDDHHmmss-{NAME}.js
。显然,事实并非如此。db-migrate将尝试解析迁移文件夹中的所有*.js文件。 - 2Toad