Я знаю, что Sequelize продолжить документ, есть ли способ обойти это?
Можно ли это реализовать с помощью «команды SQL».
Я знаю, что Sequelize продолжить документ, есть ли способ обойти это?
Можно ли это реализовать с помощью «команды SQL».
Есть некоторая работа. См. upsert функция. При использовании в Postgresql он создает пользовательскую функцию в базе данных. К сожалению, bulkUpsert
нет, поэтому вы либо используете его в некотором цикле for, либо выполняете необработанный SQL, как предлагается здесь.
Новое продолжение (v5) включает функцию updateOnDuplicate для всех диалектов.
Поля для обновления, если ключ строки уже существует (при обновлении повторяющегося ключа)? (поддерживается только MySQL, MariaDB, SQLite> = 3.24.0 и Postgres> = 9.5). По умолчанию все поля обновляются.
Проверьте здесь: Документы
Вы можете использовать как
model.bulkCreate(dataToUpdate, { updateOnDuplicate: ["user_id", "token", "created_at"] })