Sequelize 播种机找不到模型的正确列名
2019-07-06
388
我有一个模型“Currency”,它是一张只有一列(名称)的表,位于使用 sequelize 作为 ORM 的 nodeJS 项目中。我为其创建了一个种子,但当我运行种子时,它找不到正确的列名称。该模型是:
./app/models/Currency.js
:
'use strict';
module.exports = (sequelize, DataTypes) => {
const Currency = sequelize.define('Currency', {
name: {
type: DataTypes.STRING,
allowNull: false,
primaryKey: true
}
},
{
freezeTableName: true,
tableName: 'currency',
timestamps: false,
id: false
}
);
Currency.removeAttribute('id')
return Currency
}
种子文件,
./database/seeders/20190705045938-SeedCurrency.js
:
'use strict';
module.exports = {
up: function(queryInterface) {
return queryInterface.bulkUpdate('currency', [
{ name: 'USD' },
{ name: 'BRL' },
{ name: 'EUR' },
{ name: 'BTC' }
], {});
},
down: function(queryInterface) {
return queryInterface.bulkDelete('currency', null, {});
}
};
当我运行
node_modules/.bin/sequelize db:seed:all
时,它失败并显示错误:
== 20190705045938-SeedCurrency: migrating =======
ERROR: column "0" of relation "currency" does not exist
配置此关系时我遗漏了什么?提前致谢。
1个回答
使用
queryInterface.bulkInsert
而不是
bulkUpdate
。
Anna Tolochko
2019-07-11