通过用以下替换.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:clear和php 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')),