チケット #13731

ERD列を削除すると、DDLが出力できない

登録: 2008-10-22 13:40 最終更新: 2008-12-10 12:36

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

詳細

列を削除すると、DDLが出力できなくなりました。

以下のStackTraceが出力されていました。

java.lang.NullPointerException
at net.java.amateras.db.dialect.AbstractDialect.createTableDDL(AbstractDialect.java:184)
at net.java.amateras.db.dialect.OracleDialect.createTableDDL(OracleDialect.java:43)
at net.java.amateras.db.dialect.AbstractDialect.createDDL(AbstractDialect.java:96)
at net.java.amateras.db.visual.generate.DDLGenerater$DDLWizard.performFinish(DDLGenerater.java:60)
at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:742)
at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:373)
at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3823)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3422)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
at org.eclipse.jface.window.Window.open(Window.java:801)
at net.java.amateras.db.visual.generate.DDLGenerater.execute(DDLGenerater.java:35)
at net.java.amateras.db.visual.action.GenerateAction.run(GenerateAction.java:28)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:583)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:500)
at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3823)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3422)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2382)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2198)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:488)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:382)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
at org.eclipse.equinox.launcher.Main.run(Main.java:1236)

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

2008-11-29 23:58 更新者: takezoe
  • コンポーネント(未割り当て) から AmaterasERD に更新されました
2008-11-30 00:11 更新者: takezoe
  • 概要が更新されました
2008-12-10 12:35 更新者: takezoe
コメント

おそらく外部キーの参照元 or 参照先カラムが削除された場合に発生しているものと思われます。

本来はERDを修正して外部キーのマッピングを正しい状態にするのが筋なのですが、DDL生成処理でも外部キーのマッピングがおかしい場合は外部キー制約の生成をスキップするように修正します。

2008-12-10 12:36 更新者: takezoe
  • 状況オープン から 完了 に更新されました
  • 解決法なし から 修正済み に更新されました
コメント

修正しました。1.0.5でリリースされます。

添付ファイルリスト

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

編集

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