複数のDBが1つのマスターDBにレプリケートされていますが、私は他の目的にも使用するテーブルIDを持つテーブルを持っています。私のマスターDBに複製されているすべての行にDB識別情報が含まれています。 可能ですか?私が作ったすべてのテストは何もしなくなった。SymmetricDS - 変換時にノードIDを追加する
答えて
いいえ変換の性質上不可能です。それらはノードのグループにわたって定義されています。すべてのクライアントノードが同じグループに属していると仮定すると、1つの変換定義を共有します。
別の方法を考えてみましょう。各クライアント・ノードは、その外部IDによって一意に識別されます。すべてのクライアント上のIDテーブルが接頭辞として使用され、他のものと重複することを心配することなく自由にマスタに同期させます。
アプリケーションがレガシーであり、プレフィックスを収容するために変更できない場合は、クライアント側からのデータをインターセプトするライターフィルタを使用して、クライアントの外部IDと同じプレフィックスをIDテーブルの各更新に追加します。クライアント側では、接頭辞を削除するライターフィルタを追加します。マスターのプレフィックスを使用して、送信元のクライアントにのみ行をルーティングできます。 「変数」変換を使用可能であるhttps://stackoverflow.com/a/39389635/32090
:
詳細にデータベース・ライター・フィルタを説明する別の答えがあります。次に、 "store"が "corp"にレプリケートし、 "source_node_id"カラムを動的に追加する例を示します。
INSERT INTO SYM_TRANSFORM_TABLE (TRANSFORM_ID, SOURCE_NODE_GROUP_ID, TARGET_NODE_GROUP_ID, TRANSFORM_POINT, SOURCE_TABLE_NAME, TARGET_TABLE_NAME, COLUMN_POLICY, DELETE_ACTION)
VALUES ('item', 'corp', 'store', 'EXTRACT', 'item', 'item', 'IMPLIED', 'DEL_ROW');
INSERT INTO SYM_TRANSFORM_COLUMN (TRANSFORM_ID, INCLUDE_ON, TARGET_COLUMN_NAME, SOURCE_COLUMN_NAME, PK, TRANSFORM_TYPE, TRANSFORM_EXPRESSION, TRANSFORM_ORDER)
VALUES ('item', '*', 'ITEM_ID', 'ITEM_ID', 1, 'copy', null, 1);
INSERT INTO SYM_TRANSFORM_COLUMN (TRANSFORM_ID, INCLUDE_ON, TARGET_COLUMN_NAME, SOURCE_COLUMN_NAME, PK, TRANSFORM_TYPE, TRANSFORM_EXPRESSION, TRANSFORM_ORDER)
VALUES ('item', '*', 'SOURCE_NODE_ID', null, 1, 'variable', 'source_node_id', 2);
これを試してもうまくいきません。常にテーブル全体を複製し、SOURCE_NODE_IDを追加しません。 私はデータを常に送信することにも限界があります - > corp、データベースはありません - > store – Caifas
- 1. ノード変換ストリーム:末尾に文字列を追加します
- 2. ノードを置換してノードIDを変更する
- 3. 追加時にURLを置換する
- 4. 新しいノードの追加時にノードのオーバーラップを防ぐ
- 5. 変換ファミリにワープスピードを追加する
- 6. 同じ場所に同時にノードを追加する
- 7. SymmetricDSハートビート遅延時間
- 8. jquery idに変数カウンタを追加
- 9. 追加中にjqueryの変数としてidを追加するには?
- 10. オブジェクトを時間に変換して日付に追加するには?
- 11. Postgresqlは選択時にデータを変換するカラムにルールを追加
- 12. stdoutストリームをhtmlに変換する(改行時に<br>を追加)
- 13. 登録時にSQL Server IDを追加する
- 14. TreeViewItemノードを追加する
- 15. ノードをクローンしてIDデータを追加できますか?
- 16. SymmetricDS:ルックアップテーブル共通ノードと特定ノードへのルータの経路
- 17. 属性を持つノードを追加するには、変更
- 18. xml変換 - 現在のノードに応じて前のノードに属性を追加します
- 19. Googleシートに変換xlsをダウンロード機能の追加に追加
- 20. 子ノードをXML変数に追加する - PHP
- 21. プッシュ通知の追加時にバンドルIDが発生する
- 22. フォームにXMLを追加するノード
- 23. ノードをD3ツリーに追加するv4
- 24. divに子ノードを追加する
- 25. JTreeノードにカスタムプロパティを追加する
- 26. サービスファブリッククラスタにノードを追加する
- 27. SelectionPathsに子ノードを追加する[]
- 28. ClouderaクイックスタートVMにノードを追加する
- 29. 子ノード間にツリーノードを追加する
- 30. 式ツリーにノード/プロパティを追加する
したがって、source_id列をマスター表に追加し、それを複合主キーにしてソースdbsから移入するとしますか?そうであれば、変換がそれを行います。 – chenson42