Я новичок с Sequelize и Node.js в целом, мне интересно, нужен ли.sync() для чего-либо еще, кроме создания и структурирования базы данных, которая точно соответствует вашему проекту на этапе разработки.
Возьмем следующий пример: если у меня уже есть структура базы данных (сделанная с помощью MySQL Workbench или что-то еще), полезно ли когда-либо использовать.sync()? Имеет ли какое-либо важное применение в производстве?
Если у меня уже есть структура базы данных (сделанная с помощью MySQL Workbench или что-то еще), полезно ли когда-либо использовать.sync()? Имеет ли какое-либо важное применение в производстве?
Нет. Sequelize sync
создаст таблицы, которые не существуют. Если у вас уже есть все таблицы, это ничего не сделает. Однако, если вы используете force: true
, он выкинет существующую таблицу и воссоздает ее из определения модели.
В отдельном примечании следует предпочесть migrations
по sync
. sync
не отражает изменения в истории. Миграции более мощные, вы можете отменить, повторить и многое другое с ним.
Вот хороший ответ на Sequelize.js: как использовать миграции и синхронизацию
sync
никогда не будет использоваться в реальной базе данных. Вы должны использовать только миграции. Тем не менее,sync
невероятно ценна для тестирования! Это простой способ убедиться, что ваши тестовые наборы работают с чистой базой данных.down
а затемup
перед запуском наших тестов. Это дает нам преимущество , чтобы убедиться , что нашиdown
миграции работают право , а также. В случае, если мы должны откатиться на производство, это очень удобно