【发布时间】:2016-09-05 13:56:49
【问题描述】:
我已经在db:seed:all 上苦苦挣扎了一个多小时,慢慢地我对此失去了理智。
我有一个简单的模型:
'use strict';
module.exports = function (sequelize, DataTypes) {
var Car = sequelize.define('Cars', {
name: DataTypes.STRING,
type: DataTypes.INTEGER,
models: DataTypes.INTEGER
}, {
classMethods: {
associate: function (models) {
// associations can be defined here
}
}
});
return Car;
};
这是在迁移中,并使用 sequelize db:migrate 进入数据库,工作正常。
接下来我想通过种子文件插入 2 辆汽车。
所以我运行了命令sequelize seed:create --name insertCars
并添加了bulkInsert:
'use strict';
module.exports = {
up: function (queryInterface, Sequelize) {
return queryInterface.bulkInsert(
'Cars',
[
{
name: "Auris",
type: 1,
models: 500,
createdAt: Date.now(), updatedAt: Date.now()
},
{
name: "Yaris",
type: 1,
models: 500,
createdAt: Date.now(), updatedAt: Date.now()
}
]
);
},
down: function (queryInterface, Sequelize) {
}
};
现在,当我运行 sequelize db:seed:all 时,出现以下错误:
Loaded configuration file "config\config.json".
Using environment "development".
== 20160510132128-insertCars: migrating =======
Seed file failed with error: Cannot read property 'name' of undefined
有人有运行这些播种机的经验吗? 以下是我的配置文件供您参考:
{
"development": {
"username": "mydbdude",
"password": "mydbdude",
"database": "Cars",
"host": "127.0.0.1",
"dialect": "mssql",
"development": {
"autoMigrateOldSchema": true
}
},
....other configs
}
编辑:db:migrate 的输出
Sequelize [Node: 5.9.1, CLI: 2.4.0, ORM: 3.23.0]
Loaded configuration file "config\config.json".
Using environment "development".
No migrations were executed, database schema was already up to date.
【问题讨论】:
-
你好,可以显示
sequelize db:migrate的终端输出吗? -
@paolord 我编辑了我原来的问题,并在底部添加了 db:migrate 的输出
-
您使用的是什么数据库方言?我遇到了 Postgres 和区分大小写名称的问题(即
Cars与cars表 postgres 创建) -
Mssql,通常应该 nog 区分大小写吧?即便如此,我的模型和表格也是一样的
Cars
标签: node.js sequelize.js sequelize-cli