解決策 I:
参照している PostgreSQL データベースであると仮定すると、十分な権限を持っている場合はINFORMATION_SCHEMA
、次のようにデータベースにクエリを実行することをお勧めします。
select column_name, data_type, character_maximum_length
from INFORMATION_SCHEMA.COLUMNS where table_name = '<name of table>';
あなたが述べたように、期待される結果を永続的な方法で保存し、サブトランスフォーメーションで結果を比較するだけです。永続的なスキーマは、次のような定義を格納する CSV ファイルである可能性があります。
app_id character varying 255
platform character varying 255
etl_tstamp timestamp without time zone (null)
collector_tstamp timestamp without time zone (null)
dvce_tstamp timestamp without time zone (null)
event character varying 128
event_id character 36
次に、(1) 期待されるスキーマ定義を保持するファイルと、(2) データベースから新しく生成したファイルの 2 つのファイルを単純に比較します。これを行うには、ファイル比較ステップを使用できます。
これが少し役立つことを願っています。
編集:
ソリューション II:
適用できる別のソリューション:テーブル比較ステップ (www.kjube.de による寄稿) を使用して、異なるソースからの 2 つのテーブルを比較することもできます。
このステップの優れている点は、比較する 2 つのテーブルに対して 2 つの異なる接続を指定できることです。