#sequelize.js
#sequelize.js
Вопрос:
Я главный питон. Я запустил проект node express, и меня путают с командами, которые упорядочивают использование для миграции.
В python flask-migrate вы пишете свою модель, flask db migrate
а затем выполняете миграцию в соответствии с написанной вами моделью. Затем, чтобы применить вашу модель к базе данных, вы вводите flask db upgrade
команду.
Но я обнаружил, что в Node.js, команды sequelize-cli подразумеваются по-разному. sequelize db:migrate
фактически «примените» существующую миграцию, которая соответствует upgrade
команде в python flask.
Мои вопросы заключаются в том, какова правильная процедура определения или изменения вашей модели в Node.js? Вы должны сами создать свой класс модели «И» сценарий миграции, а затем запустить db:migrate
команду?
Кажется странным, что я должен дважды вносить одни и те же изменения (модель и сценарий миграции), есть ли другой простой способ?
Ответ №1:
Вы можете избежать этой «двойной работы», если полностью обходите миграции и используете метод sequelize.sync (), который строит таблицы на основе ваших моделей.
Недостатком этого является то, что при изменении моделей вам нужно будет передать флаг { force: true } в метод .sync (), чтобы включить новые/измененные атрибуты. Эта опция удаляет ваши таблицы и перестраивает их. Это хорошо для разработки, но неудобно для производства.