■SI ObjectBrowser掲示板

ユーザの皆様、開発者、サポート担当者の交流のための掲示板です!discussion
ユーザーのみなさま同士で教え合ったり、アドバイスしたりする暖かい交流の場にしたいと思っていますので、相互協力をよろしくお願いします。なお、過去に同じようなQ&Aがあるケースも多いので、投稿前にキーワード検索してみてください。

※◆のカラーは投稿の対象となる製品に対応しています。【…OB …OBER …全般 ◇…その他】
※ライセンスに関するお問合せにつきましては、お問い合わせページよりご連絡いただきますようお願いいたします。
※誹謗中傷や公序良俗に反する書き込みはご遠慮ください。運営側の判断によりメッセージを削除する場合があります。
※環境依存や技術的調査が必要な問題については掲示板上ではお答えしかねます。ご了承ください。




制約使用時のデータベース同期 2019/05/16 10:15:18
OBERユーザ
OBER 8.2.1.0を使用しています。

ディクショナリの制約を作成してドメインに割り当てた場合や、各エンティティでチェック制約を追加した場合、
データベース同期で変更がない場合も必ず以下2点が差分として検出されてしまいます。

1.生成されるDDLでは式や項目に()や[]が付与されてしまう為、データベース側と一致しなくなります。
 例えば「test>1」という制約の場合、生成されるDDLは
 「([test]>(1))」となってしまいます。しかし、モデル値は「test>1」のままですので、
 これが差分として検出されてしまいます。
 制約を「([test]>(1))」とした場合は「(([[test]]>(1))」というように更にかっこが付与されてしまいました。

2.ドメインの制約はDDLで「ADD CHECK 〜」となっています。
 これをSQLServer2017上に生成すると「CK__テーブル名__会社名__ハッシュ」という名前で制約が作成されるのですが、
 モデル値上にこの名前の制約は存在しない為、差分として検出されてしまいます。

上記2点について、差分を発生させなくする方法はないでしょうか?
元の文章を引用して返信

Re: 制約使用時のデータベース同期 2019/05/20 19:27:17
OBサポート           oob.support@sint.co.jp
こんにちは。
OBサポートです。

1.制約の内容に差分が発生する
SI Object Browser ERのデータベース同期機能では、データベース側の値を
SQL Serverのディクショナリより取得し、比較を行っておりますが
ご記載のようなチェック制約式はSQL Server上自動でカッコが付与される動作となっている模様です。

現状では、自動付加されたカッコ等を無視して比較を行うような仕組みの提供がございませんので、
大変恐縮ですが読み飛ばしていただくなど

2.制約名に差分が発生する
こちらの事象に関しましてですが、弊社環境にて再現させることができず
また、過去に同様の報告もございませんため原因不明の状況です。

大変恐縮ですが、Ver.8.2.1.0に関しましてはすでにサポートを終了させていただいております。
最新バージョン(SI Object Browser ER 18)でも再現するようでしたら、
サポート窓口宛に以下の情報を添えて
お問い合わせくださいますようお願いいたします。

・製品シリアルNOおよび保守ダイジェストキー
・現象の再現するedmファイル

何卒、よろしくお願い申し上げます。

元の文章を引用して返信

Re: 制約使用時のデータベース同期 2019/05/21 13:24:33
OBERユーザ
返信ありがとうございます。
サポート終了済みのバージョンでの質問となってしまい、大変申し訳ありませんでした。
弊社担当者に確認したところ、保守契約は締結済みとのことでしたので
最新版へバージョンアップした後に再検証を実施したいと思います。
元の文章を引用して返信

Re: 制約使用時のデータベース同期 2019/06/06 14:57:54
OBERユーザ
バージョンを本日18へ更新しました。
再度検証しましたところ、かっこによる差分以外は検出されませんでした。
サポート頂きありがとうございました。
かっこによる差分も将来的に考慮頂ければ幸甚です。
元の文章を引用して返信