チケット #20389

ERD「テーブル」と「ノート」の間で、「アンカー」を作成すれば、DDL生成できない場合がある

登録: 2010-01-22 10:27 最終更新: 2010-01-23 06:05

報告者:
担当者:
(未割り当て)
チケットの種類:
状況:
完了
コンポーネント:
マイルストーン:
(未割り当て)
優先度:
5 - 中
重要度:
5 - 中
解決法:
なし
ファイル:
なし

詳細

「ノート」から、「テーブル」へ、「アンカー」を作成すれば、DDLが正しく生成できますが、

逆に、「テーブル」から、「ノート」へ「アンカー」を作成すれば、DDLを生成できなく、例外が出ってしまう。

例外の詳細は:

「java.lang.ClassCastException: net.java.amateras.db.visual.model.AnchorModel cannot be cast to net.java.amateras.db.visual.model.ForeignKeyModel

at net.java.amateras.db.dialect.AbstractDialect.createTableDDL(AbstractDialect.java:199)

at net.java.amateras.db.dialect.OracleDialect.createTableDDL(OracleDialect.java:45)

at net.java.amateras.db.dialect.AbstractDialect.createDDL(AbstractDialect.java:98)

at net.java.amateras.db.visual.generate.DDLGenerater$DDLWizard.performFinish(DDLGenerater.java:74)

at ......」

チケットの履歴 (3 件中 3 件表示)

2010-01-22 10:27 更新者: liying
  • 新しいチケット "ERD「テーブル」と「ノート」の間で、「アンカー」を作成すれば、DDL生成できない場合がある" が作成されました
2010-01-22 10:35 更新者: liying
コメント

ERDファイルの内容を確認すると、「アンカー」の方向が「テーブル⇒ノート」であれば、

その「アンカー」が、「TableModel」の「sourceConnections」の下で、1つの「AnchorModel」になります。

例外のエラーメッセージを見ると、多分メソッド「createTableDDL」が、「TableModel」の「sourceConnections」下のタグ種別をチェックしないまま、全てのタグを「ForeignKeyModel」として、FKを生成しようではないか。

対策案:

「createTableDDL」を実装し直し、「ForeignKeyModel」であるかどうかのチェック処理を追加する。

2010-01-23 06:05 更新者: takezoe
  • チケット完了時刻2010-01-23 06:05 に更新されました
  • 状況オープン から 完了 に更新されました
コメント

ご指摘ありがとうございます。修正しました。 次のバージョン(1.0.8)でリリースされます。

添付ファイルリスト

添付ファイルはありません

編集

このチケットにコメントを追加するには、ログインが必要です » ログインする