И как изменить свои модели данных, когда вам это нужно.

Как разработчики полного стека, мы, вероятно, все были там.

Наша модель данных MySQL изменилась, и мы должны сделать таблицы нашей базы данных более гибкими. Мы должны добавлять столбцы, удалять столбцы, редактировать имена столбцов, создавать новые таблицы — все то, что вы думали, будет закреплено в камне после того, как вы приняли требования спецификации. Ну что теперь?

Если вы используете sequenceize в качестве ORM для своей базы данных SQL, вам повезло. Я использовал MySQL.

Используя возможности пакета sequenceize-cli, вы можете сделать всю тяжелую работу за вас.

Предпосылки:

Прежде чем мы продолжим, убедитесь, что вы позаботились об установке и инициализации пакета sequelize-cli и выполнили необходимые настройки. Этот блог предназначен только для разработчиков, которые заинтересованы в выполнении миграций в своей базе данных, но если вы хотите правильно изучить sequenceize-cli, пожалуйста, следуйте документам.

Шаг 1: Создание файла миграции

Чтобы создать миграцию с помощью sequelize-cli, вы можете запустить:

npx sequelize-cli migration:generate --name migration-skeleton

Это создает файл в папке /migrations, который содержит скелет, который выглядит следующим образом:

module.exports = {   
   up: (queryInterface, Sequelize) => {     
      // logic for transforming into the new state   
   },    
   down: (queryInterface, Sequelize) => {     
     // logic for reverting the changes   
   } 
}

Перечисленные выше свойства up и down создают изменения, которые должны произойти с базой данных (в up) и код, необходимый для отмены изменения (внизу).

Вот пример, если вы хотите включить столбец в имя таблицы Users под названием bio и сценарий для обратной команды:

module.exports = {
   up: (queryInterface, Sequelize) => {
     return queryInterface.addColumn( 
        "Users", "bio", Seqeulize.STRING
     )
    },
   down: (queryInterface, Sequelize) => {
     return queryInterface.removeColumn( 
         "Users", "bio"
     )
   } 
}

Шаг 2: Запуск миграции

Теперь, когда вы создали файл миграции, все, что вам нужно сделать, это запустить скрипт для его реализации:

npx sequelize-cli db:migrate

После того, как вы запустили миграцию, вы официально изменили свою базу данных!

Шаг 3: Изменение вашей модели

После создания сценария миграции и его запуска не забудьте обновить предыдущую модель данных. Невыполнение этого требования заблокирует видимость изменений при выполнении запросов, даже если таблица в базе данных официально изменилась.

Итак, в этом случае мы перейдем к модели Users и добавим:

export default (sequelize, DataTypes) => {
    const User = sequelize.define("User", {
      // previous properties
      name: {
         type: DataTypes.STRING,
         allowNull: false
      },
      // new properties that we need to add after running the migration
      bio: {
         type: DataTypes.STRING,
         allowNull: true
      }
    })
   
    return User;
}

Вывод

И вуаля! Вы официально изменили свою модель данных с помощью миграции sequenceize-cli.

Спасибо, что прочитали! 🚀 Надеюсь, это было полезно :)

Посетите мой веб-сайт, чтобы узнать больше обо мне и связаться со мной. Или свяжитесь со мной в социальных сетях: twitter | гитхаб