Laravel11データベース接続エラーの解決方法:The SQLite database configured for this application does not exist

Laravelバージョンアップ・ニュース

Laravel11では、デフォルトのデータベース管理システムがsqlitになっています。

ディレクトリ指定でLaravelプロジェクトを新規作成した場合、デフォルトのデータベース管理システムはSQLiteになります。

設定を変更せずphp artisan migrateコマンドを実行すると、エラーになります。

エラーの解決して、データベース管理システムを変更する方法をご紹介します。

The SQLite database configured for this application does not exist

.envファイルの 「DB_CONNECTION=sqlite」を変更します。MariaDBを使っている場合には、「DB_CONNECTION=mariadb」とします。MySQLの場合は、「DB_CONNECTION=mysql」とします。

【.env】

Unknown collation: ‘utf8mb4_0900_ai_ci’

2024/3/15追記

MariaDBの場合は、さらにもうひとつトラップがありますが、こちらのトラップは、すでに解決されました。ご覧になる方はいないかもしれませんが、念のため残しておきます。

—–

Laravel11では、デフォルトのデータベース接続設定が変更されています。そのため、これまでどおりの設定でマイグレーションを実行しようとすると、次のようなエラーになります。

SQLSTATE[HY000]: General error: 1273 Unknown collation: ‘utf8mb4_0900_ai_ci’ (Connection: mysql, SQL: select table_name as name, (data_length + index_length) as size, table_comment as comment, engine as engine, table_collation as collation from information_schema.tables where table_schema = ‘laravel’ and table_type in (‘BASE TABLE’, ‘SYSTEM VERSIONED’) order by table_name)

こちらは、config/database.phpを変更する必要があります。.envに指定したデータベースのcollationを下記のように変更します。

【config/database.php】

これで再度実行してみてください。

もし下記のようなエラーになった場合には、一度データベースを削除し、作成しなおしてみてください。

phpMyAdminの場合は、操作タブから削除できます。

エラーの原因

エラーの原因ですが、collationの設定の違いによります。

データベースを新規作成する際、名前と照合順序を設定します。Laravel11からは、「utf8mb4_0900_ai_ci」がデフォルト設定となっています。

もしutf8mb4_0900_ai_ciを選択できる場合には、config/database.phpは変更せず、データベース作成時にutf8mb4_0900_ai_ciを選びましょう。

ですが、MariaDBを使っている場合には、utf8mb4_0900_ai_ciが選択できません。そこで本記事では、Laravel10までと同じ設定をご紹介しました。これによって、エラーを解決できます。

さいごに

Laravel11からの変更点については、下記記事にまとめています。

今回のデータベース以外にも各種変更があります。ご興味あれば、こちらも併せてご覧ください。

Laravelバージョンアップ・ニュース Laravel・PHP豆知識・トラブル対策

【Laravelの教科書・プレゼント】

Junko
Laravelの使い方を覚えたい!と思ったら、ぜひ、役立ててほしいです。 基礎編は無料でプレゼント中です♪
ひつじプログラマ
会員制サイトをいちから作っていくよ。ボタンをクリックして詳細を見てね。
Laravelの教科書の詳細を見る

最新のLaravel10版テキストに加え、Laravel8版・Laravel9版もご用意しています♪

【無料プレゼント】

「LaravelでWebアプリをいちから作れるようになりたい!」

そんなLaravel初心者のあなたへ【Laravelの教科書】基礎編プレゼント中! 会員制フォーラムサイトを学習しながら作れます。

詳細はこちらをクリック

最新のLaravel10版テキストに加え、Laravel8版・Laravel9版もご用意しています♪

Laravelの本を書きました。


ひつじが目印♪
クリックするとamazonページへ。

Laravelの使い方を分かりやすく解説した書籍を出版しました。書店やAmazon等のオンラインショップにて販売中です。
Laravel10対応。Laravel11サポートガイドもご用意しています。詳しくは下記ボタンをクリック♪

書籍の詳細を見てみる

Laravelの本を書きました。


ひつじが目印♪
クリックするとamazonページへ。

Laravel10対応

Laravelの使い方を分かりやすく解説した書籍を出版しました。書店やAmazon等のオンラインショップにて販売中です。

書籍の詳細を見てみる

 

Laravelの教科書限定コミュニティ【Laravelの教科書ラボ】はじめました。
デプロイ講座付。StripeやChatGPT連携など過去10回分のセミナー動画視聴可能。

Laravel実践スキルをのばしたい方におすすめです。

ラボの案内を見てみる

Twitter始めました。
40代からプログラミング!
タイトルとURLをコピーしました