CayenneModelerでテーブルに変更を加えてAipoがDBに接続できなくなったら

久しぶりにCayenneModelerを使って作業しましたが、まだまだ慣れず妙な操作をしてDBとAipoが接続できなくなるという状況に陥りました。

原因

間違えた原因は以前書いたこちらのHack記事です。

これを読むとマニュアルを読めということが書かれているので下記を読みます。ここで間違いが発生しました。

左の枠から、SharedDomainMap を選択して、開きます。

注意するべき点 - SharedDomainMapに変更したいテーブルがない時

今日の作業で筆者がCayenneModelerを使ってやりたかったことは「既存のテーブルにカラムを追加」でした。
そして、上記のHackを書いた時も目的は一緒でしたが、マニュアル通りに操作してカラムを追加することができました。

前回はSharedDomainMap を選択して開けばよかったのですが、今日はここに変更するテーブルが見当たらなかったので「おかしい」と思いつつ新しいテーブルを作成してしまいました。この時、SharedDomainMapに無かっただけで実際は他のファイルに保存されていたため、「同じテーブルが2つある」という状態になってしまったわけです。

結局、新しく作成してしまったテーブルは削除して、既存のテーブルに変更を加えて上手くいきました。

まとめ

  • cayenne.xmlは種類別にファイルが分かれている
  • 同じテーブルが2つあると正常に動かなくなる