データベースの構成変更について
用意されているデータベースについて、以下の操作をする場合に参照してください。
データベース名・アクセス情報を変えたい
テーブルを初期状態で準備したい
データベース名・アクセス情報の変更
警告
以下の操作を行うと、データベース中に含まれる全データが消去されます。 残したいデータがある場合は、テーブル構造や値のエクスポートを行ってください。
env.txt
の内容を変更することで、データベースに関する設定を変更可能です。
なお、データベースサーバー名 "db" は本環境では固定です。
MYSQL_ROOT_PASSWORD=root
MYSQL_DATABASE=SAMPLE
MYSQL_USER=sampleuser
MYSQL_PASSWORD=samplepass
内容を変更後、変更を反映させるためには、以下の手順で操作をしてください。
開発環境(DevContainer)からローカルの環境に一度戻る
コマンドパレットを開く
Dev Containers: Reopen Folder Locally
を呼び出すウィンドウ左下の表示から「開発コンテナー」の文字が消えた形になるまで少し待つ
一度DevContainerとボリューム(データベースのデータエリア)を削除する
ターミナルを開く
プロンプトにて、以下のコマンドを入力します(コピー&ペーストOK)
PS> docker compose down --remove-orphans -v
再度DevContainerを開く
コマンドパレットを開く
Dev Containers: Rebuild and Reopen in Container
"PHP開発環境" を選択
以上でenv.txt
での設定に更新されます。
アプリケーション内で使っている設定も更新しておきましょう。
データベース構造のエクスポート
データベース構造のエクスポートを行うには、pnpMyAdminページでの
を使って下さい。注釈
を選択する場所に注意してください
データベース名をクリックしてからのエクスポートは「データベース全体」が対象
テーブル名をクリックしてからのエクスポートは「テーブル」が対象

下部にある
ボタンを押すとデータベース内の情報をSQLの形でエクスポートしてダウンロードできます。必要なら適宜書き換えて使えますが、書き換え時にエラーが混入しているとインポート時にエラーが発生するので注意してください。
エクスポートしたファイルはこのようなSQLファイルになっています。
データベース構造のインポート
データベース構造をインポートするためには2つの方法があります。
phpMyAdminを使ってインポートする
データベース構造をリセットする
phpMyAdminを使ったインポート
起動後の環境にてインポートする方法です。 エクスポートの時と同じように
へ進んでください。
ここでファイルとしてダウンロード(エクスポート)しておいたSQLのファイルをアップロードすることで書かれた内容(SQL文)を評価して再度設定します。

警告
データベース内にテーブルが残っていると、既存のテーブルと競合してエラーになることがあります。 完全にテーブルを削除するか、「もしテーブルがあれば削除」のコード(SQL)を入れておく必要があります。
データベースのリセット時の初期化に使う方法
データベースの構成変更の際に、SQLファイルを読み込ませることができます。 手順として、手順2まで進めた後で、dbディレクトリに読み込ませたいSQLファイルを配置してください。

この状態で 手順3(DevContainerの起動)を行うと、配置したSQLファイルを初期化時に読み込んで構成します。