データベースをMySQLからSQLiteに変更する方法|Laravel・Windows

man

困ってる人
LaravelでデータベースをMySQLからSQLiteに変更したい

こんにちは、ヨロと申します。

という事で、本日は「Laravel」のデータベースの設定変更の方法について、

データベースの設定が、初期設定では「MySQL」になっているので、

プロジェクトフォルダ内の「.env」を開き、設定を「MySQL」から「SQLite」に変更。

「SQLite」への変更方法は「コマンドプロンプト」で、

.env(Environmentの略)

データベースをMySQLからSQLiteに変更する方法|Laravel・Windows

.env

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

これらを、

DB_CONNECTION=sqlite
# DB_HOST=127.0.0.1
# DB_PORT=3306
# DB_DATABASE=homestead
# DB_USERNAME=homestead
# DB_PASSWORD=secret

こんな感じで変更する。

そして、再度「コマンドプロンプト」から、

「touch database/database.sqlite」で、新しい「SQLiteデータベース」を作成、

「php artisan migrate」

そうすると、こんな感じで表示されるはず。

Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated:  2014_10_12_000000_create_users_table
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated:  2014_10_12_100000_create_password_resets_table

無事にこうなれば、変更はOK。

ただ「Windows」を使っている場合は、エラーが出て「SQLite」が使えない事もある。例えば、

「’touch’ is not recognized as an internal or external command」

というようなエラーが出て、次に進めないといった場合は、この記事にも目を通しておくといいかも。

【Laravel】SQLiteをWindowsで使う場合のエラー:touchコマンドについて