掲示板一覧   -   トピック一覧
   Enterprise Architect 全般
     DDLの変換テンプレート


フラット表示 前のトピック | 次のトピック
投稿者 トピック
tkouno
投稿日時: 2007-12-28 13:19
EA Administrator
投稿: 3939

DDLの変換テンプレート

○ご質問

実装非依存のクラスからMDA変換を利用して
DDLを生成してみました。すると、自動的にPKが
作成されたり、データ型や名前が変換されたりと
希望と異なる結果になりました。

この結果を変更することはできますか?

○回答

こちらは、変換テンプレートに定義されている内容が
動作の元になっています。

Enterprise Architectのメニューから「設定」→「変換テンプレート」を
実行し、左上の言語で「DDL」を選択します。

ここで、PKについては、左側のテンプレートの一覧から「Class」という項目を選択すると
表示される

%if elemType != "Association"%
PrimaryKey
{
Column
{
name=%qt%%CONVERT_NAME(className, "Pascal Case","Camel Case")%ID%qt%
type=%qt%%CONVERT_TYPE(genOptDefaultDatabase,"Integer")%%qt%
}
}
%endIf%

という部分で追加の処理を行っています。この内容を削除することで
PKが追加されなくなります。

また、データ型の変換につきましては、「Attribute」テンプレートにある

type=%qt%%CONVERT_TYPE(genOptDefaultDatabase,attType)%%qt%

が処理部分になります。これは、Enterprise Architectの内部変換テーブルで
処理を行うことになっていますが、例えば

%if attType == "int"%
type="Long"
%elseIf attType == "bool"%
...

のように、自分で変換ルールを定義することで、ご希望の結果に
することができます。

名前の変換については、「Class」テンプレートや「Connector」テンプレートにある

CONVERT_NAME(connectorDestElemName, "Pascal Case","Camel Case")

のような処理部分を変更することで、対応できるかもしれません。


この変換テンプレートの文法についてはヘルプファイルで紹介されています。
また、他の既定の変換テンプレートの内容がカスタマイズする際には
参考になるかと思いますので、興味がありましたらぜひご活用ください。
フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
 » DDLの変換テンプレート tkouno 2007-12-28 13:19