Nodejs Sequelize createBulk updateOnDuplicate не работает - PullRequest
0 голосов
/ 04 мая 2020

Я использую 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: вставить навалом

...