У меня есть одна таблица под названием dc_user_meta
, и я создал одну команду artisan и запланировал ее в kernel.php
. После клонирования репозитория, когда я пытаюсь запустить PHP artisan migrate
, я получаю эту ошибку.
[Illuminate\Database\QueryException]
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'database.dc_user_meta' doesn't exist (SQL: select * from `dc_user_met
a` where `meta_key` = usage_in_days)
Не только PHP artisan migrate
, но я вообще не могу запустить команду artisan! Я не знаю, почему PHP продолжает вызывать метод schedule
каждый раз, когда я пытаюсь выполнить любую команду artisan.
Здесь в этом случае, что я могу сделать, чтобы решить эту ошибку, поместите мою логику в метод schedule
, как это.
if(Schema::hasTable('dc_user_meta')){
// Code here
}
Но я не думаю, что это хорошо в долгосрочной перспективе. Какой правильный способ решить эту ошибку?
UPDATE:
Я просто попробовал закрыть вызов команды kernel.php
, как это, но все равно не удался!
if(Schema::hasTable('dc_user_meta')){
$schedule->command('usage:update')->daily();
}
UPDATE: Я получил решение. Но я не думаю, что это ответ на вопрос. Он решает мою проблему, но я не думаю, что это стандартное решение. Я просто закрыл вход в систему так, как это.
if(Schema::hasTable('dc_user_meta')){
// Command Logic
}
Любой конкретный ответ на вопрос, почему Laravel называет расписание() с каждой командой artisan
и как разрешить ошибку стандартным способом, если что-то подобное происходит!