Упорядочить столкновение идентификаторов таблиц

#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