本文へ移動
Wagby11
マニュアルのグループを選ぶ

WAGBY11 MANUAL / 26

データベースの接続先を設定する

アプリケーションが保存・検索に使うDB製品と接続先を設定できます。標準のH2を使う場合と、外部データベースを使う場合の準備、接続情報とデータ移送の考え方を説明します。

最終更新日:

環境の小目次へ

1. このページで伝える機能

アプリケーションが保存・検索に使うDB製品と接続先を設定できます。標準のH2を使う場合と、外部データベースを使う場合の準備、接続情報とデータ移送の考え方を説明します。

2. Wagby11で実現できること

2.1 標準のH2と外部データベース

DB設定を省略すると、標準のH2を使います。外部データベースとしてPostgreSQL、MySQL、Oracle Database、SQL Serverを指定できます。利用するDBの対応バージョンや構成は、参考資料で確認します。

DBdatabase.type
H2(標準)h2
PostgreSQLpostgresql
MySQLmysql
Oracle Databaseoracle
SQL Serversqlserver

2.2 外部データベースを使う場合

DB管理者と利用する製品・接続先・DB名・スキーマを決め、必要なDBやスキーマ、接続ユーザーと権限を準備します。対応するバージョンを指定し、接続先のDB製品・バージョンと一致させます。

2.3 接続先と認証情報を指定する

ルートのappschema.yamlにdatabaseを定義します。environmentの配下やモデルごとの設定ではありません。接続URLはjdbcUrl、スキーマは必要に応じてschemaに指定します。スキーマ名を指定するだけではスキーマは作成されません。

DBのユーザー名とパスワードはOS環境変数から読み取ります。このページの設定例では、次の2つの環境変数をREST APIを起動するOS環境に設定します。

環境変数名設定する値AppSchemaでの指定
WAGBY_DB_USERNAME接続するDBのユーザー名usernameEnv: WAGBY_DB_USERNAME
WAGBY_DB_PASSWORDそのDBユーザーのパスワードpasswordEnv: WAGBY_DB_PASSWORD

usernameEnvとpasswordEnvには値そのものではなく、読み取る環境変数名を指定します。環境変数名は変更できますが、OS側とAppSchema側で一致させます。外部DBを使う場合、指定した環境変数が未設定だとREST APIは起動エラーになります。パスワードの値はAppSchemaやAIへの指示に記載せず、OS環境へ設定します。

MySQLではスキーマはデータベース名に相当します。SQL ServerではDB名とスキーマ名は別で、接続ユーザーの既定スキーマも合わせて準備します。DBごとの接続条件は参考資料を確認します。

2.4 DBを切り替えるときはデータ移送も計画する

設定後は再生成してDBに合うDDLを用意し、REST APIを起動して接続とスキーマを確認します。稼働中のDBから切り替える場合は、元DBと生成済みDDLをバックアップし、移行先のスキーマ作成とデータ移送を分けて進めます。接続先の変更と再生成だけでは、データは移りません。

AIと相談し、バックアップ・スキーマ作成・データ移送・検証の手順を決めます。データ移送後は件数・主キー・参照関係・日本語などの値、登録・検索・更新・削除を確認します。元データを保持した状態で移行の結果を検証します。

暗号化はDBの通信と保存データを暗号化する、接続数や待ち時間はDB接続プールと待ち時間を設定するを参照してください。

3. AIへの指示例

最小限の指示例

外部DBとしてPostgreSQLを使う構成にしてください。

AIは既存のDB設定、対応バージョン、接続URL、スキーマ、認証情報の参照方法を確認します。正規のライセンスキー、DB側の準備状況、既存データを移す必要があるかを伝えます。この短い指示だけで、次の詳細例と同じ設定になるとは限りません。

より詳細な指示例

Wagby11のguideと必要なreferenceを確認してください。
正規のライセンスキーを用意した環境で、PostgreSQLを使うdatabase設定をルートへ追加してください。試用版ではH2を使う条件を維持してください。
接続先はdb.example.jp、ポート5432、DB名wagby、スキーマwagbyとする例を作り、実際の接続先とDBのメジャーバージョンはDB管理者へ確認してください。
DBユーザー名はWAGBY_DB_USERNAME、パスワードはWAGBY_DB_PASSWORDから読み取ってください。
DB管理者がスキーマと必要な権限を準備する前提で、TLSと証明書検証を行う構成にしてください。
既存データがある場合は、接続先を切り替える前にバックアップ・スキーマ作成・移送・検証の手順を示してください。設定変更だけでデータが移ると扱わないでください。
既存のモデル・主キー・固定ID・データ・権限と、関係のない設定を保持してください。接続情報や秘密値を原稿・コードへ埋め込まないでください。設定の検証・必要な再生成・起動確認を行い、変更内容と確認結果を説明してください。

4. 編集されるAppSchemaの例

次はDB設定の参考例です。構文を覚えなくても、利用するDBと接続・運用の条件をAIへ伝えられます。

database:
  type: postgresql
  version: "17"
  jdbcUrl: jdbc:postgresql://db.example.jp:5432/wagby
  usernameEnv: WAGBY_DB_USERNAME
  passwordEnv: WAGBY_DB_PASSWORD
  encoding: UTF-8
  schema: wagby
  connectionEncryption:
    enabled: true
    properties:
      sslmode: verify-full
      sslrootcert: /etc/wagby/postgresql-ca.pem

この例のversionはPostgreSQLのメジャーバージョンです。実際のDBに合わせます。URL・スキーマ・証明書パスも配備先に合わせ、環境変数の値は別途設定します。

5. 参考資料

guide:データベース接続
designer/docs/appschema/html/guide/02-environment/02-database.html
reference:データベース設定
designer/docs/appschema/html/reference/25-database.html