Builder
Миграции данных - это процесс изменения структуры БД без потери данных. Обычно миграции БД используются при разработке программного обеспечения, когда необходимо изменять таблицы или добавлять новые поля в уже существующие таблицы.
Когда разработчики вносят изменения в схему базы данных, например, добавляют новые таблицы, изменяют существующие или удаляют их, необходимо чтобы эти изменения применились на всех экземплярах БД. Миграции дают возможность автоматизировать этот процесс, сделав его более надежным и быстрым.
- Создание таблицы
- Удаление таблицы
- Создание колонок
- Переименовывание колонок
- Удаление колонок
- Проверка существования таблицы
- Проверка существования колонки
- Выполнение миграций
- Откат миграций
Для вызова класса миграции необходимо в конструктор передать нужную нам модель
$migration = new Migration(new Test());
Создание таблицы
Пример создания файла test.csv с пятью полями$migration->createTable(function (Migration $table) { $table->create('id'); $table->create('title'); $table->create('text'); $table->create('user_id'); $table->create('created_at'); });
Удаление таблицы
$migration->deleteTable();
Создание колонок
$migration->changeTable(function (Migration $table) { // Создаст колонку text c текстом по умолчанию "Текст" после колонки title $table->create('text')->default('Текст')->after('title'); // Создаст колонку test перед колонкой id $table->create('test')->before('id'); });
Переименовывание колонок
$migration->changeTable(function (Migration $table) { // Переименует user_id в author_id $table->rename('user_id', 'author_id'); });
Удаление колонок
$migration->changeTable(function (Migration $table) { // Удалит колонку title $table->delete('title'); });
Проверка существования таблицы
// Проверит существование таблицы $migration->hasTable();
Проверит существование колонки
// Проверит существование колонки $migration->hasColumn('field');
Выполнение миграций
Данная команда просканирует директорию /database/migrations, найдет все классы в этой директории и вызовет у каждого класса метод up()php motor migrate
Откат миграций
Команда откатывает выполненные раннее миграцииphp motor migrate:rollbackМиграции позволяют поддерживать состояние файловых таблиц в актуальном виде