レプリケーション対象のテーブル構成を変更した場合、DBMotoではどのような設定変更が必要か?


DBMotoでレプリケーション対象のソーステーブル構成を変更した場合には、ターゲットDB側とDBMotoそれぞれで設定変更が必要です。

具体的には:

ターゲットDB:ソーステーブルに合わせてターゲットテーブルの構成も変更
DBMoto:変更したテーブル構成情報をmetadataへ反映&フィールドマッピングの追加設定

の作業が必要です。

ここではソースAS/400、ターゲットSQLServerでの片方向レプリケーションを例にします。

●前提条件

元のAS/400のテーブルの構成が下記のようにフィールド3つであることを前提とします。

metadata上では下記のような構成になっています。

●ソーステーブルのフィールドを追加した場合

1. AS/400にフィールドを追加します。

2. AS.400のテーブル情報の変更内容をmetadataに反映させます。

3. 正しいテーブル情報に更新されたことを確認します。

4. SQLServerでフィールドを追加するため、SQLServer Management Studioの当該テーブルへ進みます。

5. 列フォルダを右クリックし、「新しい列」を選択します。

6. 最後尾に追加するフィールド名・データ型・NULL制約を設定します。

※最後尾ではなく間にフィールドを追加したい場合は追加したい場所の次のフィールドを右クリックし、「列の挿入」です。

7. SQlServerの変更内容をmetadataに反映させます。

8. 正しいテーブル情報に更新されたことを確認します。

9. 追加フィールドのマッピング設定を行います。

10. Mappinngボタンを押下します。

11. 追加フィールドにはマッピングがされていませんので、左側(AS/400)の追加フィールドを選択し、そのまま右側(SQLServer)のフィールドへドラッグします。

12. このようにマッピング設定されればOKです。

以上で設定は完了です。

●ソーステーブルのフィールドを削除した場合

1. AS/400でフィールドを削除します。

2. AS.400のテーブル情報の変更内容をmetadataに反映させます。

3. 正しいテーブル情報に更新されたことを確認します。

4. SQLServerでフィールドを削除するため、SQLServer Management Studioの当該テーブルの列フォルダから削除対象のフィールドを右クリックし、削除を選択します。

5. SQlServerの変更内容をmetadataに反映させます。

6. 正しいテーブル情報に更新されたことを確認します。

以上で設定は完了です。

関連したトピックス