Можно ли создать вызов или команду Artisan для
php artisan migrate
как Artisan::call('migrate);
Поэтому я могу перенести отсутствующие таблицы в свою базу данных при динамическом изменении соединения.
Config::set('database.connections.dynamicdb', array(
'driver' => 'mysql',
'host' => '127.0.0.1',
'database' => $database_name,
'username' => 'test_user',
'password' => '123456',
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'strict' => false,
'options' => [
\PDO::ATTR_EMULATE_PREPARES => true
]
));
Artisan::call('migrate');
Или есть способ создать для него команду? Пожалуйста, предложите какое-нибудь решение.
Это не работает. У меня ларавель 5.6
Дайте определение «это не работает». Что случается? Какие ошибки или поведение вы получаете?
Ок, я расскажу вам сценарий. Я использовал промежуточное программное обеспечение для динамического изменения соединения, и после того, как конфигурация установлена в базу данных пользователей, я запускаю команду artisan. Он не показывает ошибку.
Страница «висит» и просто сидит там? Возможно, вам придется передать --force, если он находится в производстве; см. stackoverflow.com/questions/37953783/….
Artisan::call('migrate', array('--path' => 'app/migrations', '--force' => true)); Я выполнил эту команду, хотя вход в систему все еще не работает.
Вероятно, вам также нужно сказать ему сделать --database dynamicdb. Вы продолжаете говорить «не работает», не указывая, что происходит — получаете ли вы ошибку, бесконечный индикатор загрузки или он просто продолжается, как если бы он был успешным.
` \Artisan::call('migrate', array('--path' => 'app/migrations', '--force' => true , '--database' => 'dynamicdb'));` I запустите эту команду. Он не показывает никакой ошибки. Еще не мигрировали.






Попробуйте этот код:
\Artisan::call('migrate',
array(
'--path' => 'database/migrations',
'--database' => 'dynamicdb',
'--force' => true));
Поскольку по умолчанию в качестве пути используется /приложение, а миграции помещаются в базу данных/миграции. Так что это будет работать, как это работало для меня при создании нового проекта.
Вы сами ответили на свой вопрос -
Artisan::call('migrate'). Вы пробовали это? У вас проблемы с этим?