首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >数据库( Database /database.sqlite)不存在。数据库工作于工匠补丁

数据库( Database /database.sqlite)不存在。数据库工作于工匠补丁
EN

Stack Overflow用户
提问于 2017-03-31 20:29:18
回答 7查看 28.2K关注 0票数 22

我在database文件夹中创建了database.sqlite文件。我的.env文件内容如下:

代码语言:javascript
复制
DB_CONNECTION=sqlite
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=absolute\path\to\database\database.sqlite
DB_USERNAME=admin
DB_PASSWORD=

当我运行php artisan tinkerDB::table('users')->get();时,我从数据库中获取信息。

我的DatabaseController是:

代码语言:javascript
复制
class DatabaseController extends Controller
{
    public function main()
    {
        $users = DB::table('users')->get();

        return view('database',compact($users));
    }
}

然而,当我请求/database路径时,我得到了错误:

QueryException in Connection.php line 647: Database (database/database.sqlite) does not exist. (SQL: select * from "users")

更新:临时修复方法是更改config文件夹中的database.php:

代码语言:javascript
复制
  'connections' => [

    'sqlite' => [
        'driver' => 'sqlite',
        'database' => 'absolute\path\database\database.sqlite', 
        'prefix' => '',
    ],

而不是使用返回database/database.sqlite而不是我的绝对路径的env('DB_DATABASE', database_path('database.sqlite'))

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2017-03-31 20:56:19

您需要使用完整路径,如下所示:

代码语言:javascript
复制
DB_DATABASE=/home/laravel-project/database/database.sqlite
票数 34
EN

Stack Overflow用户

发布于 2017-05-29 23:15:31

如果从.env文件中删除DB_DATABASE=...并使用config/database.php中的路径

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

(如果您的database.sqlite文件在database/文件夹中),它也可以工作。

票数 15
EN

Stack Overflow用户

发布于 2017-04-01 19:19:14

我运行了以下命令:

php artisan config:cache

php artisan config:clear

php artisan serve -已重新启动服务器

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43140711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档