Workbench5.1からスキーマ保護機能が追加されました。
以前はデータソース列の追加、型変更、削除が発生した場合、DataSet側も、その変更に合わせ、何も設定しないで自動で列が変更されたと思います。
今回から、スキーマ保護、つまり列の保護として、デフォルトで「安全なスキーマの変更を許可」になり、下記のような説明がWorkbenchのスキーマタブにありますので、実際に確認をしました。
自動保護
下図のようなデータを転送しました。
転送後、スキーマタブを参照するとデフォルトのスキーマ保護機能が働き「安全なスキーマの変更を許可」になりa列からc列まで全て保護の対象になります。まさに、「後で自動的に保護」されました。
列の削除
下図のように、先ほど転送したデータからc列を削除し、a列とb列だけにして転送してみます。
転送ログを参照すると、転送しようとしている列がaとbなのに転送先のDomo DataSetはa、b、cの列があり不一致であることをWorkbenchは認識しています。
結局、下図のように列の変更が許されていない・・旨のエラーメッセージで転送が中断します。
スキーマタブで確認するとc列が「削除しました」のステータスでマーキングされています。
説明では「保護されていない列は変更できます」との事ですので、c列の保護のチエックを外し転送します。
転送ログを参照すると先ほどと同様に転送元と転送先に列の差を認識しますがc列の保護を外していますので、転送は正常終了し、説明通り「保護されていない列は変更できます」となり、削除が出来ました。
列の追加
次にDataSet側に存在しない列を追加してみます。
下図のように先ほど削除したc列と新たにd列を追加し転送してみます。
転送ログを参照するとやはり転送元と転送先に列の差を認識し一見、転送元と転送先で列が合っていので、転送が失敗しそうに見えますが結局は転送が成功し新しい列が追加され、自動的に保護されました。
データ型の変更
最後にデータの型を変更してみます。a列の20220118と言った整数型を年月日である2022/01/18のような日付型へ変更してみます。変換からCutom Data Format Transformを選択しa列の日付形式をyyyyMMddに指定し転送します。
スキーマ保護機能が働き転送が失敗します。スキーマタブで確認するとa列が「変更しました」のステータスでマーキングされています。
削除の時と同様に保護のチエックを外し、さらに、今回は型変更ですので、データタイプをロックのチエックを外し転送すると転送前のDataSetでは整数型だったa列が転送後は日付型へ型変換が出来ました。
今回はスキーマ保護機能の動きを見てみました。
弊社ではDomoを活用したデータ活用コンサルティングサービスを提供しております。
下記関連リンクからお問合せお待ちしております
関連リンク
上記ブログの音声付きビデオは以下です。
【お問合わせ】
https://alpcom.co.jp/products/domo/
【Domoご紹介ビデオリスト】(音声付き動画)
https://www.youtube.com/watch?v=ZjfA6ODnR7g&list=PLCT26wue-Onk9Jp_SjEPzMb3EXr_W0x_o
【弊社Domoコンサルティングサービス】
https://alpcom.co.jp/products/domo/
【アルファー・コミュニケーションズ公式YouTubeチャンネル】(音声付き動画)
https://www.youtube.com/channel/UCTqwZsRRpAs9NPTUz2yH3ow/videos
以上