## Содержание
- [Основы](#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