Como fazer o SQLite funcionar no Laravel

Sempre que corrophp artisan migrate, o seguinte erro é mostrado no console:

[PDOException]
SQLSTATE [HY000] [14] não foi possível abrir o arquivo de banco de dados

odatabase.sqlite arquivo está localizado embase de dados/. Estou correndoWindows 10, Laravel 5.2. Aqui está.env configuração do arquivo:

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

Procurei em todos os lugares, mas não consegui encontrar o que causa esse erro e como resolvê-lo.

Atualizar

Consegui fazer as migrações executadas com êxito substituindoDB_DATABASE=database comDB_DATABASE=database/database.sqlite no.env Arquivo. No entanto, um novo erro ocorre sempre que tento recuperar itens do banco de dados:

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

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

A ação acima gera o seguinte erro:

InvalidArgumentException na linha SQLiteConnector.php 34:
O banco de dados (database / database.sqlite) não existe.

O estranho é que o comandoCard::all() funciona perfeitamentephp artisan tinker modo. Que tipo de mágica é essa?

Enfim, eu também descobri, que a linha:

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

nodatabase.php arquivo precisa ser substituído por apenasdatabase_path('database.sqlite') etudo começa a funcionar normalmente.

Parece que a raiz do problema éenv('DB_DATABASE') ligar. eu fui paraSQLiteConnector.php arquivo e despejou a saída de ambosenv('DB_DATABASE') edatabase_path('database.sqlite'). Aqui estão suas saídas, respectivamente:

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

Como você vê, a saída deles é diferente, e o segundo é o que é esperado. Isso é um bug do Laravel? Ou eu entendi algo errado?

questionAnswers(7)

yourAnswerToTheQuestion