gpt4 book ai didi

php - 迁移期间 Laravel 未知数据库错误

转载 作者:搜寻专家 更新时间:2023-10-30 22:23:44 24 4
gpt4 key购买 nike

我无法在 Homestead/Vagrant 盒子中运行 Laravel 迁移。类似的问题还有很多,但似乎没有一个适合我的答案。

我建立了一个博客网站,它在 VirtualBox 中的路径是 /home/vagrant/code/blog。然后我根据 docs 中的说明在 /home/vagrant/code/blog/database/database.sqlite 创建了一个代表 SQLite 数据库的空文件。 .此外,我编辑了 /home/vagrant/code/blog/.env 文件以包含“正确的”数据库信息:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=/home/vagrant/code/blog/database/database.sqlite
DB_USERNAME=homestead
DB_PASSWORD=secret

然后我使用 php artisan make:migration create_users_table 创建了一个迁移,如 here 所述.但是当我尝试使用 php artisan migrate 应用此迁移时,我收到以下错误:

vagrant@homestead:~/code/blog$ php artisan migrate

Illuminate\Database\QueryException : SQLSTATE[HY000] [1049] Unknown database '/home/vagrant/code/blog/database/database.sqlite' (SQL: select * from information_schema.tables where table_schema = /home/vagrant/code/blog/database/database.sqlite and table_name = migrations and table_type = 'BASE TABLE')

at /home/vagrant/code/blog/vendor/laravel/framework/src/Illuminate/Database/Connection.php:664
660| // If an exception occurs when attempting to run a query, we'll format the error
661| // message to include the bindings with SQL, which will make this exception a
662| // lot more helpful to the developer instead of just the database's errors.
663| catch (Exception $e) {
> 664| throw new QueryException(
665| $query, $this->prepareBindings($bindings), $e
666| );
667| }
668|

Exception trace:

1 PDOException::("SQLSTATE[HY000] [1049] Unknown database '/home/vagrant/code/blog/database/database.sqlite'")
/home/vagrant/code/blog/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70

2 PDO::__construct("mysql:host=127.0.0.1;port=3306;dbname=/home/vagrant/code/blog/database/database.sqlite", "homestead", "secret", [])
/home/vagrant/code/blog/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70

Please use the argument -v to see more details.

所以它说它找不到数据库,即使我输入了它的绝对路径,这怎么可能?我知道路径必须正确,因为当我运行 ls/home/vagrant/code/blog/database/database.sqlite 时,它被列为现有文件..

我该如何解决这个问题?

最佳答案

改变这个:

DB_CONNECTION=mysql

有了这个:

DB_CONNECTION=SQLite

在你的 .env 文件中

关于php - 迁移期间 Laravel 未知数据库错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56942787/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com