## Содержание - [Основы](#the-basics) - [Подготовка базы данных](#prepping-your-database) - [Создание миграций](#creating-migrations) - [Запуск миграций](#running-migrations) - [Откат](#rolling-back) ## Основы Подумайте о миграции как об одном из видов контроля версий для вашей базы данных. Скажем, вы работаете в команде, и все базы данных у вас хранятся локально для разработки. Хороший линковщик Эрик внес изменения в базу, и проверяет свой новый код с новым полем. Вы запускаете свой код, и ваше приложение обрушивается, потому что ни вы, ни приложение ничего не знаете о новом поле. Что делать? Ответ прост - применить миграции. Разберемся, как это сделать! ## Подготовка базы данных Прежде, чем запустить миграции, вам необходимо кое-что сделать с вашей базой данных. Laravel использует специальную таблицу для отслеживания миграции, которые уже запустили. Для создания этой таблицы используйте команду Artisan CLI. **Создание миграционной таблицы Laravel:** php artisan migrate:install ## Создание миграции Миграции создать очень легко при помощи "Artisan" CLI. Это выглядит так: **Создание миграции** php artisan migrate:make create_users_table Теперь, проверьте-ка папку **application/migrations**. Вы найдете там новую миграцию! Заметьте, что она имеет временную метку. Это помогает Laravel запускать миграции в правильном порядке. Таким же образом можно сделать миграцию для бандла. **Создание миграции для бандла:** php artisan migrate:make bundle::create_users_table *Рекомендуется прочитать:* - [Schema Конструктор](/docs/v3/database/schema) ## Запуск миграций **Запуск всех имеющихся миграций в приложениях и бандлах:** php artisan migrate **Запуск всех имеющихся миграций в приложениях:** php artisan migrate application **Запуск всех имеющихся миграций в бандлах:** php artisan migrate bundle ## Откат Laravel делает откат одной или всех операций с миграциями. Т.е., если были проведены 122 миграции, все 122 миграции будут отменены с восстановлением состояния. **Откат последней операции миграции:** php artisan migrate:rollback **Откат всех операций миграции:** php artisan migrate:reset