Неопределенное свойство: stdClass::$migration при использовании SQLite (php artisan migrate)
Запуск php artisan migrate
вызывает Undefined property: stdClass::$migration
, в результате чего таблицы не создаются.
Я использую sqlite
. Мой .env
просто имеет: DB_CONNECTION=sqlite
.
Я создал config/database.php
, который содержит:
'connections' => [
'sqlite' => [
'driver' => 'sqlite',
'database' => storage_path('database.sqlite'), // Make sure this file exists.
'prefix' => '',
],
],
У меня есть простая миграция с двумя столбцами.
До сих пор я пробовал все, от создания нового проекта composer до переустановки PHP.
Полное исключение:
() at C:\Development\Repositories\phpchat\vendor\illuminate\database\Query\Builder.php:2360
Laravel\Lumen\Application->Laravel\Lumen\Concerns\{closure}() at C:\Development\Repositories\phpchat\vendor\illuminate\database\Query\Builder.php:2360
Illuminate\Database\Query\Builder->pluckFromObjectColumn() at C:\Development\Repositories\phpchat\vendor\illuminate\database\Query\Builder.php:2332
Illuminate\Database\Query\Builder->pluck() at C:\Development\Repositories\phpchat\vendor\illuminate\database\Migrations\DatabaseMigrationRepository.php:53
Illuminate\Database\Migrations\DatabaseMigrationRepository->getRan() at C:\Development\Repositories\phpchat\vendor\illuminate\database\Migrations\Migrator.php:90
Illuminate\Database\Migrations\Migrator->run() at C:\Development\Repositories\phpchat\vendor\illuminate\database\Console\Migrations\MigrateCommand.php:71
Illuminate\Database\Console\Migrations\MigrateCommand->handle() at n/a:n/a
call_user_func_array() at C:\Development\Repositories\phpchat\vendor\illuminate\container\BoundMethod.php:32
Illuminate\Container\BoundMethod::Illuminate\Container\{closure}() at C:\Development\Repositories\phpchat\vendor\illuminate\container\BoundMethod.php:90
Illuminate\Container\BoundMethod::callBoundMethod() at C:\Development\Repositories\phpchat\vendor\illuminate\container\BoundMethod.php:34
Illuminate\Container\BoundMethod::call() at C:\Development\Repositories\phpchat\vendor\illuminate\container\Container.php:580
Illuminate\Container\Container->call() at C:\Development\Repositories\phpchat\vendor\illuminate\console\Command.php:183
Illuminate\Console\Command->execute() at C:\Development\Repositories\phpchat\vendor\symfony\console\Command\Command.php:255
Symfony\Component\Console\Command\Command->run() at C:\Development\Repositories\phpchat\vendor\illuminate\console\Command.php:170
Illuminate\Console\Command->run() at C:\Development\Repositories\phpchat\vendor\symfony\console\Application.php:908
Symfony\Component\Console\Application->doRunCommand() at C:\Development\Repositories\phpchat\vendor\symfony\console\Application.php:269
Symfony\Component\Console\Application->doRun() at C:\Development\Repositories\phpchat\vendor\symfony\console\Application.php:145
Symfony\Component\Console\Application->run() at C:\Development\Repositories\phpchat\vendor\illuminate\console\Application.php:90
Illuminate\Console\Application->run() at C:\Development\Repositories\phpchat\vendor\laravel\lumen-framework\src\Console\Kernel.php:115
Laravel\Lumen\Console\Kernel->handle() at C:\Development\Repositories\phpchat\artisan:35
У вопроса есть решение - Посмотреть?

как выглядит ваш файл миграции?
Источник

@khartnett это очень просто, но это не было частью проблемы. Смотрите мой ответ ниже для решения :)
Источник

ха, это интересно. Спасибо за обновление!
Источник
Ответы - Неопределенное свойство: stdClass::$migration при использовании SQLite (php artisan migrate) / Undefined property: stdClass::$migration when using SQLite (php artisan migrate)
Является ответом!

04.04.2019 10:53:35
Оказывается, когда вы используете SQLite, ваша config/database.php
-файл должен быть немного более сложным. В частности, мне нужно было добавить 'migrations' => 'migrations'
, которые (после нескольких часов поиска) решили проблему. Моя database.php
-файл теперь выглядит так:
<?php
// Adapted from here to use SQLite: https://github.com/laravel/laravel/blob/master/config/database.php
return [
'default' => env('DB_CONNECTION', 'sqlite'),
'connections' => [
'sqlite' => [
'driver' => 'sqlite',
'database' => storage_path('database.sqlite'), // Make sure this file exists.
'prefix' => '',
],
],
'fetch' => PDO::FETCH_CLASS, // Returns DB objects in an array format.
'migrations' => 'migrations'
];
Помочь в развитии проекта: