如何在Sequelize迁移脚本中向表中添加数据?这就是我得到的:
module.exports = {
up: function(migration, DataTypes, done) {
migration.createTable(
'person',
{
name: DataTypes.STRING,
age: DataTypes.INTEGER
},
{
charset: 'latin1' // default: null
}
);
// I want to insert person and age.
migration.insert(???);
done()
},
down: function(migration, DataTypes, done) {
migration.dropTable('queue');
done()
}
Run Code Online (Sandbox Code Playgroud)
}
在这里,我正在更新user_features数据库,我从这里发现我可以通过批量更新updateOnDuplicate:但是它抛出如下错误
SequelizeDatabaseError: syntax error at or near ")"
Run Code Online (Sandbox Code Playgroud)
我试过了,updateOnDuplicate: true但它只支持 mysql 不支持 postgresql
var feature_body_list = [];
for (let index = 0; index < req.body.features.length; index++) {
let feature_body = {
user_id: req.body.id,
feature_id: req.body.features[index]
}
feature_body_list.push(feature_body);
}
await sequelize.user_features.bulkCreate(feature_body_list, { updateOnDuplicate: ["user_id", "feature_id"] });
Run Code Online (Sandbox Code Playgroud)
但是当我删除 updateonDuplicate 时,它可以完美运行并抛出 UniqueConstraintError 重复键,所以我该如何批量更新???