SnowConvert: Teradata

Spezifische CLI-Argumente

Die folgenden CLI-Argumente sind spezifisch für die Ausführung von Migrationen mit SnowConvert for Teradata

--displaceDatabaseAsSchema

Dieses Flag muss zusammen mit dem Parameter -s verwendet werden. Wenn es verwendet wird, wird die Qualifizierung des Datenbanknamens von Teradata als Data Warehouse von Snowflake beibehalten, im Gegensatz zum Standardverhalten, bei dem es zu einem Schema im Snowflake-Code wird. Sehen wir uns ein Beispiel an, in dem -s customSchema enthalten ist:

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>

Ein Ganzzahl-Wert für die Umwandlung von CHARACTER in eine ungefähre Zahl (Standardwert: 10).

--DefaultDateFormat <STRING>

Zeichenfolgenwert für das DATE-Standardformat (Standardwert: "YYYY/MM/DD").

--DefaultTimeFormat <STRING>

Zeichenfolgenwert für das TIME-Standardformat (Standardwert: "HH/MI/SS").

--DefaultTimestampFormat <STRING>

Zeichenfolgenwert für das TIMESTAMP-Standardformat (Standardwert: "YYYY/MM/DD HH:MI:SS").

--DefaultTimezoneFormat <STRING>

Zeichenfolgenwert für das TIMEZONE-Standardformat (Standardwert: "GMT-5").

-p, --scriptTargetLanguage <TARGET_LANGUAGE>

Der Zeichenfolgenwert gibt die Zielsprache an, in die BTEQ- und MLOAD-Skriptdateien konvertiert werden sollen. Derzeit unterstützte Werte sind SnowScript und Python. Der Standardwert ist Python.

-n, --SessionMode <SESSION_MODE>

SnowConvert verarbeitet Teradata-Code sowohl im TERA-Modus als auch im ANSI-Modus. Derzeit beschränkt sich dies auf die Angabe der standardmäßigen Groß-/Kleinschreibung von Zeichenfolgendaten und deren Auswirkungen auf Vergleiche.

Der Zeichenfolgenwert gibt den Sitzungsmodus des Eingabecodes an. Die derzeit unterstützten Werte sind TERA und ANSI. Der Standardwert ist auf TERA festgelegt.

Mehr darüber, wie SnowConvert den Code je nach Sitzungsmodus behandelt und konvertiert, erfahren Sie hier.

--replaceDeleteAllToTruncate

Flag, das angibt, ob DELETE ALL-Anweisungen durch TRUNCATE ersetzt werden müssen oder nicht. Dadurch wird SSC-EWI-TD0037 generiert, wenn die Ersetzung abgeschlossen ist. Beispiel:

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

Flag, das angibt, ob die SQL-Anweisungen SELECT, INSERT, CREATE, DELETE, UPDATE, DROP, MERGE in gespeicherten Prozeduren im konvertierten Code markiert werden. Dieses Feature dient der einfachen Identifizierung von Anweisungen im migrierten Code. Wenn Sie diese Anweisungen in diese XML-ähnlichen Tags einschließen, können andere Programme sie schnell finden und extrahieren. Der dekorierte Code sieht wie folgt aus:

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

--splitPeriodDatatype

Dieses Flag wird verwendet, um anzuzeigen, dass das Tool bei jeder Verwendung des Datentyps PERIOD zwei separate DATETIME-Felder migrieren soll, die die ursprünglichen Werte für Beginn und Ende des Zeitraums enthalten. Jedes Mal, wenn ein Zeitraumfeld oder eine Zeitraumfunktion mit diesem Flag migriert wird, wird SSC-FDM-TD0004 hinzugefügt, um auf diese Änderung hinzuweisen.

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

Flag, das angibt, ob der Eingabecode vor dem Parsen und der Transformation verarbeitet werden soll.

--RenamingFile

Der Pfad zu einer .json-Datei, die neue Namen für bestimmte Objekte wie Tabellen, Ansichten, Prozeduren, Funktionen und Makros angibt. Dieser Parameter kann nicht mit dem Argument customSchema verwendet werden. Navigieren Sie zu Umbenennungsfeature, um mehr über dieses Argument zu erfahren.

--UseCollateForCaseSpecification

Dieses Flag gibt an, ob COLLATE oder UPPER verwendet werden soll, um die Funktionalität der Spezifikation der Groß-/Kleinschreibung beizubehalten, z. B. CASESPECIFIC oder NOT CASESPECIFIC. Standardmäßig ist es deaktiviert, was bedeutet, dass die Funktion UPPER verwendet wird, um die Nichtbeachtung der Groß-/Kleinschreibung zu emulieren (NOT CASESPECIFIC). Weitere Informationen über die Handhabung der Spezifikation der Groß-/Kleinschreibung in SnowConvert finden Sie hier.