はじめに
個人開発中のアプリでDBの名前を変える必要があったので、備忘録的にやり方を残しておきます。
DB内のデータは引き継がないで削除します。
作業手順
旧DBの削除
docker compose exec [コンテナ名] bash
mysql -u root
mysql> drop database 削除したいデータベース名;
.envの変更
.envのDB名定義部分を書き換え
DB_DATABASE=new_database_name
変更後アプリケーションコンテナに入り、Laravelの設定キャッシュをクリア
docker compose exec [コンテナ名] bash
php artisan config:clear
権限の再設定
DBコンテナに入り、MySQLの GRANT 設定を修正
docker compose exec [コンテナ名] bash
mysql -u root
~ここから権限設定~
mysql> GRANT ALL PRIVILEGES ON new_database_name.* TO '[MySQLのユーザー名]'@'%';
mysql> FLUSH PRIVILEGES;
マイグレーション実行
php artisan migrate:fresh --seed
以上で完了です。
DBの名前を変えたいことはそうそう無いかもしれませんが、、、