Ddevで2番目のデータベースを作成してロードする方法
Ddev で 2 番目のデータベースを作成してロードするには、以下の手順が必要です。
まず、.ddev/config.yaml
ファイルを開き、以下の内容を追加します。
databases:
- name: my_second_database
engine: mariadb
host: localhost
port: 3307
database: my_second_database
username: root
password: password
上記の例では、my_second_database
という名前の 2 番目のデータベースを作成しています。
データベースを作成する
以下のコマンドを実行して、データベースを作成します。
ddev composer exec drush sql-create my_second_database
ddev composer exec drush sql-sync @my_second_database < dump.sql
上記の例では、dump.sql
というファイルの内容を my_second_database
データベースにロードしています。
確認する
ddev mysql -uroot -ppassword -e "SHOW DATABASES;"
上記の例では、my_second_database
データベースがリストに表示されていることを確認できます。
補足
.ddev/config.yaml
ファイルで指定するデータベースの設定は、必要に応じて変更できます。- データベースのロードには、
drush
コマンドの代わりにmysqldump
コマンドを使用することもできます。
- Ddev で複数のデータベースを使用する場合は、各データベースに異なる名前を付ける必要があります。
- データベースを削除するには、
ddev mysql -uroot -ppassword -e "DROP DATABASE my_second_database;"
コマンドを実行します。
注意事項
- この情報は 2024 年 3 月 20 日時点のものであり、今後変更される可能性があります。
- Ddev や Drupal の使用に関するサポートは、各プロジェクトの公式ドキュメントまたはコミュニティフォーラムを参照してください。
databases:
- name: my_first_database
engine: mariadb
host: localhost
port: 3306
database: my_first_database
username: root
password: password
- name: my_second_database
engine: mariadb
host: localhost
port: 3307
database: my_second_database
username: root
password: password
ddev composer exec drush sql-create my_second_database
ddev composer exec drush sql-sync @my_second_database < dump.sql
ddev mysql -uroot -ppassword -e "SHOW DATABASES;"
ddev mysql -uroot -ppassword -e "DROP DATABASE my_second_database;"`
補足
- 上記のコードは、サンプルコードであり、必要に応じて変更する必要があります。
- データベースの名前やパスワードなどは、環境に合わせて変更してください。
注意事項
- このコードを使用する前に、Ddev と Drupal がインストールされていることを確認してください。
- データベースの操作には十分注意してください。誤操作によってデータが失われる可能性があります。
Ddevで2番目のデータベースを作成してロードする他の方法
Ddev UIを使用すれば、GUI操作で簡単にデータベースを作成してロードすることができます。
手順
- Ddev UIを開きます。
- Databases タブをクリックします。
- データベースの名前、エンジン、ホスト、ポート、データベース名、ユーザー名、パスワードなどを指定します。
docker run -d --name my_second_database -p 3307:3306 mariadb
docker exec -it my_second_database mysql -uroot -ppassword
CREATE DATABASE my_second_database;
mysql -uroot -ppassword my_second_database < dump.sql
手動でデータベースを作成することもできます。
ddev start
mysql -uroot -ppassword
CREATE DATABASE my_second_database;
mysql -uroot -ppassword my_second_database < dump.sql
どの方法を選択するかは、開発環境や好みに合わせて決定します。
- GUI操作が好きな人は、Ddev UIを使用するのがおすすめです。
- コマンドライン操作に慣れている人は、Docker CLIまたは手動でデータベースを作成するのがおすすめです。
mysql drupal mariadb