DDL

最終更新日: 2020年3月14日
R8 | R9

DDLの作成ルール

Wagby はモデル定義から create table 文、drop table 文といった DDL を自動生成します。これは Hibernate の機能を用いています。具体的には Hibernate マッピングファイル (.hbm.xml) から生成されるものです。

DDL の項目の並びは、モデル定義の項目順ではありません。Hibernate マッピングファイルの記載順となります。

DDLの場所

自動生成されたDDLファイルは以下のフォルダに保存されています。

wagbydesigner/webapps/wagbydesigner/WEB-INF/env/work/dbschema/createddl/

制約に関する命名

"drop constraint FKXXXX" の、FKXXXXX に相当する部分は Hibernate が自動生成しています。Wagby では特に制御していません。

インデックス

検索条件に対応したインデックス指定は、次のファイルで確認できます。

wagbyapp/webapps/wagby/WEB-INF/export/conf/initdb.xml

テキストエディタでファイルの内容を確認することができます。次の DDL が含まれています。

CREATE INDEX "jfcidx_ModelID_ModelitemName" ON "ModelID"

文字エンコード

Wagby が生成する DDL の文字エンコードは、Wagby Designer を動作させている OS に依存します。

例えば Windows OS 環境では Shift JIS になります。そのためテーブル名やカラム名に日本語を指定するとエラーになります。

回避策

wagbydesigner/bin/setenv.bat に下記の行を追加することで、回避できます。DDLがUTF-8で出力されるようになります。

set CATALINA_OPTS=%CATALINA_OPTS% -Dfile.encoding=UTF-8

ただし、この設定を行うと、Tomcatのコンソール出力が文字化けします。