Я использую nodejs и секвелируем библиотеку для ORM,
Я определил свою модель следующим образом:
const OfferModel = (sequelize) => {
return sequelize.define('offers', {
id: { primaryKey: true, type: Sequelize.INTEGER, autoIncrement: true },
source_id: { unique: true, type: Sequelize.INTEGER },
destination_id: { type: Sequelize.STRING },
advertiser_id: { type: Sequelize.INTEGER },
offer_name: { type: Sequelize.STRING },
tracking_url: { type: Sequelize.STRING },
revenue: { type: Sequelize.STRING },
os: { type: Sequelize.STRING },
country: { type: Sequelize.STRING },
preview_url: { type: Sequelize.STRING },
goal: { type: Sequelize.STRING },
advertiser_name: { type: Sequelize.STRING },
bundle_id: { type: Sequelize.STRING },
origin: { type: Sequelize.INTEGER },
is_live: { type: Sequelize.INTEGER }
},{
timestamps: false,
indexes: [
{
unique: true,
fields: ['source_id']
}
]
});
}
, а затем я использую функцию bulkCreate с помощью updateOnDuplicate, но ничего не произошло:
await OfferModel(sequilize).bulkCreate(offers, {
fields: ["source_id", "advertiser_id", "offer_name", "tracking_url", "revenue", "os", "country", "preview_url","goal", "advertiser_name", "bundle_id", "origin"],
updateOnDuplicate: ["source_id", "advertiser_id", "advertiser_name"]
});
Также пробовал:
Nodejs продолжение массового обновления
массовое обновление в следующем порядке
Sequelize: вставить навалом