Внесение изменений в модель базы данных - Sequelize - PullRequest
0 голосов
/ 29 апреля 2018

Я новичок и использую Sequelize для своей базы данных. Я создал модель, выполнил миграцию после ее создания, затем добавил mocks & seed, но понял, что допустил ошибку для двух типов данных атрибутов. Мне нужно это изменить, но я не уверен, как правильно это сделать.

Должен ли я:

sequelize db:migrate:undo

а затем внести изменения в модель и запустить миграцию?

Или мне нужно сбросить модель и воссоздать ее?

Полагаю, я не совсем уверен, что делает миграция в схеме вещей.

1 Ответ

0 голосов
/ 30 апреля 2018

Миграция сгенерирует запросы sql и создаст таблицы базы данных.

Модель сообщает sequelize о таблице, созданной вышеупомянутой миграцией. Например, когда вы выполняете User.create (), sequelize необходимо знать детали таблицы, чтобы перевести это в SQL-запрос.

Я чувствую, что как новичку вам, вероятно, лучше создавать миграции самостоятельно, чем использовать модель для их генерации.

Переходя к вашему вопросу, вы можете смело использовать sequelize db:migrate:undo удалить таблицы.
Насколько я знаю, метод sequelize db:migrate:undo не связан с вашей моделью, поэтому не имеет значения, редактируете ли вы его до или после миграции.

Чтобы быть в безопасности, вы можете сначала удалить таблицы, используя migrate: отменить, а затем отредактировать модели и снова запустить миграцию.

...