数据库(数据库/db_intranet.sqlite)不存在



通过用以下替换.env中的数据库块,我成功地迁移并种子化了一个sqlite数据库(位于数据库目录中(

DB_CONNECTION=sqlite
DB_DATABASE=database/db_intranet.sqlite

然而,当我想从模型中对数据库进行任何操作时,我会收到这个错误

IlluminateDatabaseQueryException
Database (database/db_intranet.sqlite) does not exist.

通过将块更改为此来解决

DB_CONNECTION=sqlite
DB_DATABASE=../database/db_intranet.sqlite

我的问题是,为什么?我能做些什么,这样我就不必不断地更改.env文件来处理数据库了?

database.php中更改:

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

至:

'database' => database_path('db_intranet.sqlite'),

您需要在.env文件中使用绝对路径,而不是相对路径,如:

DB_DATABASE=/var/www/project/database/db_intranet.sqlite

在窗口上,如:

DB_DATABASE=C:wwwprojectdatabasedb_intranet.sqlite

更改后,运行php artisan config:clearphp artisan cache:clear,然后提供它。

您必须使用.env文件中的相对路径作为

DB_DATABASE=/var/www/project/database/db_intranet.sqlite,如果您使用的是Ubuntu操作系统。

如果你使用的是windows系统,那么你可以使用

DB_DATABASE=C:wwwprojectdatabasedb_intranet.sqlite

config/database.php中,您可以使用

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

最新更新