У меня есть одна таблица под названием 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 и как разрешить ошибку стандартным способом, если что-то подобное происходит!