本記事では、データ移行サービスでサポートされているワイルドカード規則について説明します。
背景
ワイルドカード規則はクラス正規表現の形式を採用しており、現在データ移行でサポートされているワイルドカード規則には、「*」、「?」、「[]」、および「[!]」が含まれます。また、データ移行ではスキーマ名もワイルドカード規則で記述することが可能です。例えば、schema*.* のように。移行対象規則と除外対象規則を設定する際は、大文字と小文字を区別してください。マッチング規則とソース側のオブジェクト名の大文字小文字が一致しない場合、データベースオブジェクトはマッチングされません。
移行対象規則と除外対象規則を設定した後、ソース側で新しいテーブルが作成された場合、そのテーブル名が移行対象規則にマッチし、かつ除外対象規則にマッチしなければ、データ移行によってリアルタイムで同期されます。
文字「*」
文字「*」は任意の長さの文字列や空文字列にマッチします。「*」を使用して、データベースまたはスキーマ内のすべてのオブジェクトを選択できます。例えば、移行オブジェクトルール を <Schema>.* と設定すると、右側の 実行結果 にそのスキーマ下のすべてのテーブルとビューが表示されます。

また、除外オブジェクトルール で移行不要なオブジェクトを設定し、検証 をクリックすることもできます。検証が通過したら、プレビュー をクリックすると、実行結果 で確認できます。

文字「?」
文字「?」は1文字に一致します。複数の文字に一致させる場合は、複数の「?」を連続して使用する必要があります。「?」を使用して、データベースまたはスキーマ内で一部の特徴に一致するオブジェクトを選択できます。例えば、移行オブジェクトルール を <Schema>.t? と設定すると、右側の 実行結果 には、そのスキーマ下でこの形式に一致するテーブルとビューが表示されます。
注意
文字「?」はヌル文字には一致しません。つまり、「?」が置かれる位置には必ず文字が存在する必要があります。

また、除外オブジェクトルール で移行不要なオブジェクトを設定し、検証 をクリックすることもできます。検証に合格したら、プレビュー をクリックすると、実行結果 で確認できます。

文字 "[]"
文字 "[]" は角括弧内の任意の1文字に一致します。[start-end] は連続する範囲を表します。例えば、移行オブジェクトルール を <Schema>.[]* と設定すると、右側の 実行結果 には、そのスキーマ下でこの形式に合致するテーブルとビューが表示されます。

また、除外オブジェクトルール で移行不要なオブジェクトを設定し、検証 をクリックすることもできます。検証が通過したら、プレビュー をクリックすると、実行結果 で確認できます。

文字 "[!]"
文字 "[!]" は角括弧内にない文字(ヌル文字を除く)に一致します。[!start-end] は連続する範囲を表します。例えば、移行オブジェクトルール を <Schema>.[!]* と設定すると、右側の 実行結果 には、そのスキーマ下でこの形式に合致するテーブルとビューが表示されます。

また、除外オブジェクトルール で移行不要なオブジェクトを設定し、検証 をクリックすることもできます。検証が通過したら、プレビュー をクリックすると、実行結果 で確認できます。
