当我尝试登录时“数据库文件不存在”

问题描述 投票:0回答:3

我创建了一个数据库模式,需要将其转换为 Laravel 项目的代码。我安装了灯丝面板并创建了一个灯丝用户用于管理员登录:

php artisan make:filament-user

当我尝试以管理员身份登录时,我收到:

路径[./database/database.sqlite]处的数据库文件不存在。确保这是数据库的绝对路径。

我将该项目用作 GitLab 的克隆版本,并在 Windows 上使用 Ubuntu。

.env:

APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:wBRsBCpS5bzoOA06ye1EIlPeQ8au9is1j3+XNNSj/j4=
APP_DEBUG=true
APP_URL=http://localhost

LOG_CHANNEL=stack
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug

DB_CONNECTION=sqlite
DB_DATABASE=./database/database.sqlite
DB_FOREIGN_KEYS=true

.env.示例:

APP_NAME=Laravel
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_URL=http://localhost

LOG_CHANNEL=stack
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug

DB_CONNECTION=slite
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

.env.保存:

PP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:rxPvNOP34FnNUSw1s9k2+uXvGvQ8Q5Z5YZiTrnfUFwY=
APP_DEBUG=true
APP_URL=http://localhost

LOG_CHANNEL=stack
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug

DB_CONNECTION=sqlite
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

数据库.php:

'default' => env('DB_CONNECTION', 'sqlite'),

'sqlite' => [
            'driver' => 'sqlite',
            'url' => env('DATABASE_URL'),
            'database' => env('DB_DATABASE', database_path('database.sqlite')),
            'prefix' => '',
            'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
        ],
laravel sqlite laravel-filament
3个回答
0
投票

你可以这样做

DB_CONNECTION=sqlite
DB_DATABASE=

DB_CONNECTION=sqlite
DB_DATABASE=/home/dev/projects/projectA/database/database.sqlite

0
投票

您需要插入sqlite数据库的绝对路径。

https://laravel.com/docs/10.x/database#sqlite-configuration


0
投票

如果您使用的是 laravel 11,只需更改 .env 文件中的会话驱动程序

SESSION_DRIVER=数据库

SESSION_DRIVER=文件

它解决了我的问题

© www.soinside.com 2019 - 2024. All rights reserved.