SnowConvert AI - Teradata

具体的な CLI 引数

The following CLI arguments are specific for executing migrations with SnowConvert AI for Teradata

--displaceDatabaseAsSchema

このフラグは、 -s パラメーターとともに使用する必要があります。使用すると、Snowflakeコード上のスキーマになるデフォルトの動作とは逆に、SnowflakeのデータウェアハウスとしてTeradataのデータベース名の資格を維持します。-s customSchema が含まれている例を見てみましょう。

SELECT * FROM databaseName.tableName;
Copy
-- Additional Params: -s customSchema
SELECT
* FROM
customSchema.tableName;
Copy
-- Additional Params: -s customSchema --displaceDatabaseAsSchema
SELECT
* FROM
databaseName.customSchema.tableName;
Copy

--CharacterToApproximateNumber <NUMBER>

CHARACTER から概数への変換の整数値(デフォルト: 10)。

--DefaultDateFormat <STRING>

デフォルト DATE 形式の文字列値(デフォルト: "YYYY/MM/DD")。

--DefaultTimeFormat <STRING>

デフォルト TIME 形式の文字列値(デフォルト: "HH:MI:SS")。

--DefaultTimestampFormat <STRING>

デフォルト TIMESTAMP 形式の文字列値(デフォルト: "YYYY/MM/DD HH:MI:SS")。

--DefaultTimezoneFormat <STRING>

デフォルト TIMEZONE 形式の文字列値(デフォルト: "GMT-5")。

-p, --scriptTargetLanguage <TARGET_LANGUAGE>

文字列値は、BteqおよびMloadスクリプトファイルを変換するターゲット言語を指定します。現在サポートされている値は SnowScriptPython です。デフォルト値は Python に設定されています。

-n, --SessionMode <SESSION_MODE>

SnowConvert AI handles Teradata code in both TERA and ANSI modes. Currently, this is limited to the default case specification of character data and how it affects comparisons.

文字列値は、入力コードのセッションモードを指定します。現在サポートされている値は TERAANSI です。デフォルト値は TERA に設定されています。

You can learn more about how SnowConvert AI handles and converts code depending on the session mode, check here.

--replaceDeleteAllToTruncate

Delete AllステートメントをTruncateに置き換える必要があるかどうかを示すフラグ。これにより、置き換えが完了すると、 SSC-EWI-TD0037 が生成されます。例:

create table testTable(
    column1 varchar(30)
);

delete testTable all;

delete from testTable;
Copy
CREATE OR REPLACE TABLE testTable (
    column1 varchar(30)
)
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"teradata"}}'
;

DELETE FROM testTable;

DELETE FROM 
    testTable;
Copy
-- Additional Params: --replaceDeleteAllToTruncate
CREATE OR REPLACE TABLE testTable (
    column1 varchar(30)
)
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"teradata"}}'
;

TRUNCATE TABLE testTable;

DELETE FROM 
    testTable;
Copy

--generateStoredProcedureTags

ストアドプロシージャの SQL ステートメント SELECT、 INSERT、 CREATE、 DELETE、 UPDATE、 DROP、 MERGE を変換後のコードにタグ付けするかどうかを示すフラグ。この機能は、移行されたコードのステートメントを簡単に識別するために使用されます。これらのステートメントを XML のようなタグでラッピングすると、他のプログラムがステートメントをすばやく見つけて取り出すことができるようになります。装飾されたコードは次のようになります。

//<SQL_DELETE
EXEC(DELETE FROM SB_EDP_SANDBOX_LAB.PUBLIC.USER_LIST,[])
//SQL_DELETE!>
Copy

--splitPeriodDatatype

このフラグは、 PERIOD データ型の使用を、元の期間の開始値と終了値を保持する2つの別個のフィールド DATETIME としてツールに移行することを示すために使用されます。このフラグを使用して期間フィールドまたは関数が移行される場合はいつでも、この変更について警告するために SSC-FDM-TD0004 が追加されます。

CREATE TABLE myTable(
   col1 PERIOD(DATE),
   col2 VARCHAR(50),
   col3 PERIOD(TIMESTAMP)
);
Copy
CREATE OR REPLACE TABLE myTable (
   col1 VARCHAR(24) !!!RESOLVE EWI!!! /*** SSC-EWI-TD0053 - SNOWFLAKE DOES NOT SUPPORT THE PERIOD DATATYPE, ALL PERIODS ARE HANDLED AS VARCHAR INSTEAD ***/!!!,
   col2 VARCHAR(50),
   col3 VARCHAR(58) !!!RESOLVE EWI!!! /*** SSC-EWI-TD0053 - SNOWFLAKE DOES NOT SUPPORT THE PERIOD DATATYPE, ALL PERIODS ARE HANDLED AS VARCHAR INSTEAD ***/!!!
)
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"teradata"}}'
;
Copy
-- Additional Params: --splitPeriodDatatype
CREATE OR REPLACE TABLE myTable (
   col1_begin DATE,
   col1_end DATE /*** SSC-FDM-TD0004 - PERIOD DATA TYPES ARE HANDLED AS TWO DATA FIELDS ***/,
   col2 VARCHAR(50),
   col3_begin TIMESTAMP,
   col3_end TIMESTAMP /*** SSC-FDM-TD0004 - PERIOD DATA TYPES ARE HANDLED AS TWO DATA FIELDS ***/
)
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"teradata"}}'
;
Copy

--arrange

入力コードを解析して変換する前に処理するかどうかを示すフラグ。

--RenamingFile

テーブル、ビュー、プロシージャ、関数、マクロなどの特定のオブジェクトの新しい名前を指定する.jsonファイルへのパス。このパラメーターは customSchema 引数とは併用できません。この引数の詳細については、 名前の変更機能を参照してください。

--UseCollateForCaseSpecification

This flag indicates whether to use COLLATE or UPPER to preserve Case Specification functionality, e.g. CASESPECIFIC or NOT CASESPECIFIC. By default, it is turned off, meaning that the UPPER function will be used to emulate case insensitivity (NOT CASESPECIFIC). To learn more about how Case Specification is handled by SnowConvert AI check here.