запустить конкретную миграцию с помощью команды artisan из класса

0

Я попытался запустить определенную таблицу миграции с контроллера, используя следующий кодArtisan::call ("migrate:refresh --step=14"); но он не обновляет таблицу 14, с другой стороны, он обновляет все таблицы .., любое предложение !!

Теги:
artisan-migrate laravel-8
CodeFix

1 ответ

0

Это цель migrate:refresh . Он откатывает миграции, а затем запускает их:

The migrate:refresh command will roll back all of your migrations and then execute the migrate command. This command effectively re-creates your entire database

You may roll back and re-migrate a limited number of migrations by providing the step option to the refresh command. For example, the following command will roll back and re-migrate the last five migrations

Если вы хотите запустить конкретную миграцию, команда будет выглядеть так:

migrate --path=/database/migrations/my_migration.php

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

Изменить : если вы пытаетесь вставить заранее определенные данные в таблицу, вам следует изучить возможность использования сеялки базы данных, которые звучат гораздо больше, чтобы быть тем, что вы ищете.

Поделиться
Источник
  • 0
    На самом деле у меня есть предопределенные данные в таблице миграции .. если пользователь удалит все данные по ошибке !! и он просит сбросить как разработчик, мне просто нужно поставить [кнопка сбросить все] с кодом, который может обновлять только желаемую таблицу
  • 1
    Я добавил для вас дополнительную информацию в ответ на ваш комментарий.
  • 0
    Подробно ... теперь мне не нужно обновлять миграцию ... другими способами, мне просто нужно запустить сеялку ... Что ж, это работает благодаря вашему предложению

Другие вопросы

CodeFix
Цитата дня

"Завидую тестировщикам: все хотят с ними дружить."

Эндрю Таненбаум