ナスとトマトのブログ

・主にAndroidアプリ開発やWebアプリ開発で知ったことを記載。プライバシーポリシーもここに記載。

Laravel入門3:「Database (database/database.sqlite) does not exist. (SQL: PRAGMA foreign_keys = ON;)」

こんにちは。

今回もLaravel入門で自分がはまったエラーと、その解消策を紹介します。

 

APIを実装してたところ、データベース接続エラー

「Database (database/database.sqlite) does not exist. (SQL: PRAGMA foreign_keys = ON;)」

に遭遇しました。

 

Laravel入門2で遭遇したデータベース接続エラーは、migration実行で起き、

その時は下記のコマンドで

  •  ​sudo apt-get install php7.4-sqlite3

phpからspliteをさわるためのパッケージをインストールし、解決しました。

 

<解決策>

パスを修正+キャッシュを削除

 

パスが正しくないことはエラーからだいたいわかっていたが、パスを直しても解決できなかった。(´;ω;`)

そのため、色々余計なことを調べて時間を使ってしまった。

 

①.envのDB_DATABASEは絶対パスにする

  • DB_DATABASE=/home/user/project/database/database.sqlite

②キャッシュを削除する

 下記のどちらかのコマンドを実行

  • php artisan config:cache (キャッシュ削除後、キャッシュ作成)
  • php artisan config:clear (キャッシュ削除)

③サーバを立ち上げる

  • php artisan serve

 

laravelは.envの設定値をキャッシュで持っている様子。