#javascript #sql #database #sequelize.js
#javascript #sql #База данных #sequelize.js
Вопрос:
В моем простом CRUD-приложении (с использованием sequelize) У меня странная проблема, когда после обновления моих моделей базы данных и последующего импорта моих резервных данных любые новые добавления начинаются с {id: 1}
момента, когда у меня есть 50 строк, импортированных обратно. Есть ли способ sequelize посмотреть на наибольшее id
значение и увеличить его оттуда вместо того, чтобы снова начинать с 1 после обновления? Кто-нибудь сталкивался с этим? Спасибо!
Комментарии:
1. Зависит от того, кто генерирует идентификаторы: СУБД или Sequelize. Если это СУБД, вероятно, это означает, что вам следует создавать резервные копии данных с помощью последовательностей (например, в PostgreSQL). Пожалуйста, укажите, кто генерирует идентификаторы и какую СУБД вы используете
2. Спасибо за ответ @Anatoly — я использую PostgreSQL. У меня есть ключ id в моей модели sequelize
id: { type: Sequelize.DataTypes.INTEGER, primaryKey: true, autoIncrement: true },
, подобный so, который, как я ранее читал, поможет избежать этих столкновений. Это не так.3.
autoIncrement: true
означает, что у вас естьSERIAL
столбец как PK, и именно поэтому у вас есть автоматически созданная последовательность для этого столбца. Взгляните на последовательности, чтобы найти последовательность, связанную с PK