Sequelize bulkCreate updateOnDuplicate для postgresQL?

Я знаю, что Sequelize продолжить документ, есть ли способ обойти это?

Можно ли это реализовать с помощью «команды SQL».


person Melroy Fernandes    schedule 05.04.2019    source источник


Ответы (2)


Есть некоторая работа. См. upsert функция. При использовании в Postgresql он создает пользовательскую функцию в базе данных. К сожалению, bulkUpsert нет, поэтому вы либо используете его в некотором цикле for, либо выполняете необработанный SQL, как предлагается здесь.

person sawim    schedule 05.04.2019

Новое продолжение (v5) включает функцию updateOnDuplicate для всех диалектов.

Поля для обновления, если ключ строки уже существует (при обновлении повторяющегося ключа)? (поддерживается только MySQL, MariaDB, SQLite> = 3.24.0 и Postgres> = 9.5). По умолчанию все поля обновляются.

Проверьте здесь: Документы

Вы можете использовать как

model.bulkCreate(dataToUpdate, { updateOnDuplicate: ["user_id", "token", "created_at"] })
person Muhammed Kalkan    schedule 25.12.2019