Как заставить SQLite работать в Laravel

Всякий раз, когда я бегуphp artisan migrateв консоли отображается следующая ошибка:

[PDOException]
SQLSTATE [HY000] [14] не может открыть файл базы данных

database.sqlite файл находится вбаза данных/, я бегуWindows 10, Ларавел 5.2, Вот.env Конфигурация файла:

.env:
DB_CONNECTION=sqlite
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=database
DB_USERNAME=homestead
DB_PASSWORD=secret

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

Обновить

Мне удалось успешно запустить миграцию, заменивDB_DATABASE=database сDB_DATABASE=database/database.sqlite в.env файл. Тем не менее, новая ошибка возникает всякий раз, когда я пытаюсь получить элементы из базы данных:

public function index()
{
    // cause of the error
    $cards = Card::all();

    return view('cards.index', compact('cards'));
}

Вышеуказанное действие выдает следующую ошибку:

InvalidArgumentException в строке SQLiteConnector.php 34:
База данных (database / database.sqlite) не существует.

Странно то, что командаCard::all() работает без нареканий вphp artisan tinker Режим. Что это за магия?

Во всяком случае, я также узнал, что строка:

'database' => env('DB_DATABASE', database_path('database.sqlite')),

вdatabase.php файл должен быть заменен простоdatabase_path('database.sqlite') а такжевсе начинает работать нормально.

Кажется, что корень проблемыenv('DB_DATABASE') вызов. я пошел вSQLiteConnector.php файл и сбросили вывод обоихenv('DB_DATABASE') а такжеdatabase_path('database.sqlite'), Вот их выводы соответственно:

dd(env('DB_DATABASE'))               // => 'database/database.sqlite'
dd(database_path('database.sqlite')) // => 'D:\www\project\database\database.sqlite'

Как видите, их вывод отличается, а второй - это то, что ожидается. Это ошибка Laravel? Или я что-то не так понял?

Ответы на вопрос(7)

Ваш ответ на вопрос