Що таке міграції в фреймворку Hanami та як вони використовуються?

Міграції в фреймворку Hanami - це інструмент, який дозволяє керувати структурою бази даних вашого додатка. Вони використовуються для автоматизованого створення, зміни або видалення таблиць, стовпців та інших об’єктів бази даних. Основна мета міграцій — забезпечити консистентність структури бази даних між різними середовищами розробки (наприклад, розробка, тестування, виробництво) і зберегти історію змін структури.

Детальніше процес виглядає так:

  1. Створення міграції.

    Ви можете створити нову міграцію, використовуючи Hanami CLI.

    hanami generate migration create_books
    

    Ця команда створить новий файл міграції у відповідній папці проєкт.

  2. Визначення змін у структурі бази даних.

    У відповідному файлі міграції ви визначаєте необхідні зміни у структурі бази даних, такі як створення нових таблиць, зміна або видалення стовпців тощо.

    Hanami::Model.migration do
      change do
        create_table :books do
          primary_key :id
          column :title, String
          column :author, String
          column :published_at, Date
        end
      end
    end
    
  3. Застосування міграції.

    Після визначення змін у файлі міграції ви застосовуєте її до бази даних за допомогою Hanami CLI.

    hanami db migrate
    

    Ця команда виконає всі міграції, які ще не були застосовані до бази даних.

  4. Відкат міграцій (опціонально).

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

Міграції в Hanami дозволяють зручно керувати структурою бази даних у вашому додатку, забезпечуючи при цьому зручність у роботі та збереження консистентності даних.