РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1273 of 1392 menu

Команда migrate:status

Команда migrate:status предназначена для просмотра статуса всех существующих миграций в приложении Laravel. Она выводит таблицу с информацией о каждой миграции, включая её имя, дату и время выполнения, а также статус (выполнена или нет). Это полезно для проверки актуальности базы данных и выявления проблемных миграций. Команда не требует дополнительных параметров и работает с текущим подключением к базе данных.

Синтаксис

php artisan migrate:status

Команда выводит таблицу со столбцами: 'Ran?' (выполнена ли миграция), 'Migration' (имя файла миграции) и 'Batch' (номер пакета, в котором была выполнена миграция). Если миграция ещё не выполнена, в столбце 'Ran?' будет стоять 'No', а столбец 'Batch' останется пустым.

Пример базового использования

Давайте выполним команду для просмотра статуса всех миграций:

php artisan migrate:status

Результат выполнения команды:

"+------+--------------------------------------+-------+" "| Ran? | Migration | Batch |" "+------+--------------------------------------+-------+" "| Yes | 2014_10_12_000000_create_users_table | 1 |" "| Yes | 2014_10_12_100000_create_password... | 1 |" "| No | 2024_01_15_120000_create_posts_table | |" "| No | 2024_01_20_100000_create_comments... | |" "+------+--------------------------------------+-------+"

Из таблицы видно, что две миграции уже выполнены (в пакете 1), а две другие ещё ожидают применения.

Пример с подключением к другой базе данных

Команду можно выполнить с указанием подключения к базе данных через опцию --database:

php artisan migrate:status --database=pgsql

Результат выполнения команды:

"+------+------------------------------------------+-------+" "| Ran? | Migration | Batch |" "+------+------------------------------------------+-------+" "| Yes | 2014_10_12_000000_create_users_table | 1 |" "| Yes | 2014_10_12_100000_create_password... | 1 |" "| Yes | 2024_01_15_120000_create_posts_table | 2 |" "| No | 2024_01_20_100000_create_comments... | |" "+------+------------------------------------------+-------+"

При использовании опции --database команда проверяет миграции в указанном подключении к базе данных. В данном примере показан результат для подключения 'pgsql', где три миграции уже выполнены, а одна ещё нет.

Пример с отображением пути к файлам миграций

Команда поддерживает опцию --path для ограничения проверки только миграциями в определённой директории. Это позволяет, например, проверить статус миграций, созданных для конкретного пакета или модуля:

php artisan migrate:status --path=database/migrations/blog

Результат выполнения команды:

"+------+------------------------------------------+-------+" "| Ran? | Migration | Batch |" "+------+------------------------------------------+-------+" "| No | 2024_02_01_100000_create_blog_posts... | |" "| No | 2024_02_05_120000_create_blog_comment... | |" "+------+------------------------------------------+-------+"

В этом примере показан статус только для миграций, находящихся в директории 'blog'. Обе миграции ещё не выполнены, что говорит о необходимости их применения.

Пример с псевдонимами миграций

При использовании пакетов или модулей миграции часто имеют префиксы или псевдонимы. Опция --realpath позволяет отображать полные пути к файлам миграций:

php artisan migrate:status --realpath

Результат выполнения команды:

"+------+--------------------------------------------------------+-------+" "| Ran? | Migration | Batch |" "+------+--------------------------------------------------------+-------+" "| Yes | /var/www/project/database/migrations/2014_10_12_000... | 1 |" "| Yes | /var/www/project/database/migrations/2014_10_12_100... | 1 |" "| No | /var/www/project/database/migrations/blog/2024_02_0... | |" "+------+--------------------------------------------------------+-------+"

Опция --realpath полезна при работе с большим количеством миграций из разных директорий, когда важно видеть полный путь к каждому файлу.

Смотрите также

  • команда migrate,
    которая выполняет все ожидающие миграции
  • команда migrate-fresh,
    которая удаляет все таблицы и выполняет миграции заново
  • команда migrate-rollback,
    которая откатывает последнюю партию миграций
  • команда migrate-refresh,
    которая откатывает и заново выполняет все миграции
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить