Я пытаюсь перенести свой проект laravel в другую систему разработки. Всякий раз, когда я пытаюсь запустить artisan migrate для создания всех своих таблиц, я получаю ошибку для clients table does not exist

Я узнал, что это связано с тем, что мой метод расписания запрашивает таблицу. Когда я приду развертывать этот проект, как я буду развертывать, не комментируя эти строки? Или у меня команды не в том месте?

protected function schedule(Schedule $schedule)
{
    foreach (DB::table('clients')->select('id')->get() as $row)
    {
        $schedule->command('import:reports $row->id')->everyMinute();
    }
}
1
lennard 9 Янв 2017 в 23:46

1 ответ

Лучший ответ

Вы должны написать что-то вроде этого, чтобы проверить, существует ли таблица перед запуском foreach.

if (Schema::hasTable('clients')) {//Do Your foreach Here}

Вы также должны написать use Illuminate\Support\Facades\Schema; поверх класса, чтобы использовать Schema Facade.

3
Buglinjo 9 Янв 2017 в 23:53