データベースの構成変更について

用意されているデータベースについて、以下の操作をする場合に参照してください。

  • データベース名・アクセス情報を変えたい

  • テーブルを初期状態で準備したい

データベース名・アクセス情報の変更

警告

以下の操作を行うと、データベース中に含まれる全データが消去されます。 残したいデータがある場合は、テーブル構造や値のエクスポートを行ってください。

env.txt の内容を変更することで、データベースに関する設定を変更可能です。 なお、データベースサーバー名 "db" は本環境では固定です。

env.txt
MYSQL_ROOT_PASSWORD=root
MYSQL_DATABASE=SAMPLE
MYSQL_USER=sampleuser
MYSQL_PASSWORD=samplepass

内容を変更後、変更を反映させるためには、以下の手順で操作をしてください。

  1. 開発環境(DevContainer)からローカルの環境に一度戻る

    1. コマンドパレットを開く

    2. Dev Containers: Reopen Folder Locallyを呼び出す

    3. ウィンドウ左下の表示から「開発コンテナー」の文字が消えた形になるまで少し待つ

      ../_images/in-devcontainer.png ../_images/out-devcontainer.png
  2. 一度DevContainerとボリューム(データベースのデータエリア)を削除する

    1. ターミナルを開く

    2. プロンプトにて、以下のコマンドを入力します(コピー&ペーストOK)

      PS> docker compose down --remove-orphans -v
      
  3. 再度DevContainerを開く

    1. コマンドパレットを開く

    2. Dev Containers: Rebuild and Reopen in Container

    3. "PHP開発環境" を選択

以上でenv.txtでの設定に更新されます。 アプリケーション内で使っている設定も更新しておきましょう。

データベース構造のエクスポート

データベース構造のエクスポートを行うには、pnpMyAdminページでの エクスポート を使って下さい。

注釈

エクスポート を選択する場所に注意してください

  • データベース名をクリックしてからのエクスポートは「データベース全体」が対象

  • テーブル名をクリックしてからのエクスポートは「テーブル」が対象

phpMyAdmin: エクスポート設定

下部にあるエクスポートボタンを押すとデータベース内の情報をSQLの形でエクスポートしてダウンロードできます。

必要なら適宜書き換えて使えますが、書き換え時にエラーが混入しているとインポート時にエラーが発生するので注意してください。

エクスポートしたファイルはこのようなSQLファイルになっています。

データベース構造のインポート

データベース構造をインポートするためには2つの方法があります。

  • phpMyAdminを使ってインポートする

  • データベース構造をリセットする

phpMyAdminを使ったインポート

起動後の環境にてインポートする方法です。 エクスポートの時と同じように インポート へ進んでください。

phpMyAdmin:インポート設定

ここでファイルとしてダウンロード(エクスポート)しておいたSQLのファイルをアップロードすることで書かれた内容(SQL文)を評価して再度設定します。

phpMyAdmin:インポート結果

警告

データベース内にテーブルが残っていると、既存のテーブルと競合してエラーになることがあります。 完全にテーブルを削除するか、「もしテーブルがあれば削除」のコード(SQL)を入れておく必要があります。

データベースのリセット時の初期化に使う方法

データベースの構成変更の際に、SQLファイルを読み込ませることができます。 手順として、手順2まで進めた後で、dbディレクトリに読み込ませたいSQLファイルを配置してください。

dbディレクトリ中にSQLファイルを配置

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