laravelでデータベースをsqliteにしようと思ったらエラーかでた!
ターミナル
Illuminate\Database\QueryException : SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO) (SQL: select * from information_schema.tables where table_schema = homestead3 and table_name = migrations and table_type = 'BASE TABLE')
at /home/vagrant/code/hoge/project/vendor/laravel/framework/src/Illuminate/Database/Connection.php:669
665| // If an exception occurs when attempting to run a query, we'll format the error
666| // message to include the bindings with SQL, which will make this exception a
667| // lot more helpful to the developer instead of just the database's errors.
668| catch (Exception $e) {
> 669| throw new QueryException(
670| $query, $this->prepareBindings($bindings), $e
671| );
672| }
673|
Exception trace:
1 PDOException::("SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO)")
/home/vagrant/code/hoge/project/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70
2 PDO::__construct()
/home/vagrant/code/more3/project/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70
Please use the argument -v to see more details.
databaseフォルダにdatebase.sqlite作ったしスペルも間違ってない。.envもちゃんと編集したし・・・。しばらく悩みました。
ググっていたらtinkerでデバッグという記事を見つけ早速試しました!
vagrant@homestead:~/code/hoge/project$ php artisan tinker
Psy Shell v0.9.12 (PHP 7.4.1 — cli) by Justin Hileman
>>> config('database.default')
=> "mysql"
データベースがmysqlのままだ!と発見。,envの変更が反映できてないのでキャッシュをクリア
$ php artisan config:cache
$ php artisan migrate
Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated: 2014_10_12_000000_create_users_table (0.03 seconds)
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated: 2014_10_12_100000_create_password_resets_table (0.04 seconds)
Migrating: 2019_08_19_000000_create_failed_jobs_table
Migrated: 2019_08_19_000000_create_failed_jobs_table (0.01 seconds)
無事にマイグレーションできました!とても初歩的なミスですが、1時間くらい悩みました・・・
tinkerを使うとすぐ解決できました。tinkerでデバッグは覚えておこうと思います!