SnowConvert AI - Teradata

Argumentos específicos da CLI

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

--displaceDatabaseAsSchema

Esse sinalizador deve ser usado com o parâmetro -s. Quando usado, ele manterá a qualificação do nome do banco de dados do Teradata como o data warehouse do Snowflake, ao contrário do comportamento padrão, em que ele se torna um esquema no código do Snowflake. Vejamos um exemplo em que -s customSchema está incluído:

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>

Um valor inteiro para a transformação de CHARACTER em número aproximado (Padrão: 10).

--DefaultDateFormat <STRING>

Valor da cadeia de caracteres para o formato padrão DATE (Padrão: "YYYY/MM/DD").

--DefaultTimeFormat <STRING>

Valor da cadeia de caracteres para o formato padrão TIME (Padrão: "HH:MI:SS").

--DefaultTimestampFormat <STRING>

Valor da cadeia de caracteres para o formato padrão TIMESTAMP (Padrão: "YYYY/MM/DD HH:MI:SS").

--DefaultTimezoneFormat <STRING>

Valor da cadeia de caracteres para o formato padrão TIMEZONE (Padrão: "GMT-5").

-p, --scriptTargetLanguage <TARGET_LANGUAGE>

O valor da cadeia de caracteres especifica a linguagem de destino para converter os arquivos de script Bteq e Mload. Os valores atualmente suportados são SnowScript e Python. O valor padrão é definido como 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.

O valor da cadeia de caracteres especifica o modo de sessão do código de entrada. Os valores suportados atualmente são TERA e ANSI. O valor padrão é definido como TERA.

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

--replaceDeleteAllToTruncate

Sinalizador para indicar se as instruções Delete All devem ser substituídas por Truncate ou não. Isso gerará SSC-EWI-TD0037 quando a substituição for feita. Exemplo:

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

Sinalizador para indicar se as instruções SQL SELECT, INSERT, CREATE, DELETE, UPDATE, DROP, MERGE em procedimentos armazenados serão marcadas no código convertido. Esse recurso é usado para facilitar a identificação de instruções no código migrado. O fato de envolver essas instruções nessas tags semelhantes a XMLpermite que outros programas as encontrem e extraiam rapidamente. O código decorado tem a seguinte aparência:

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

--splitPeriodDatatype

Esse sinalizador é usado para indicar que a ferramenta deve migrar qualquer uso do tipo de dados PERIOD como dois campos DATETIME separados que manterão os valores originais de início e fim do período. Sempre que um campo ou função de período for migrado usando esse sinalizador, SSC-FDM-TD0004 serão adicionados para alertar sobre essa alteração.

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

Sinalizador para indicar se o código de entrada deve ser processado antes da análise e da transformação.

--RenamingFile

O caminho para um arquivo .json que especifica novos nomes para determinados objetos, como tabelas, visualizações, procedimentos, funções e macros. Esse parâmetro não pode ser usado com o argumento customSchema. Navegue até Recurso de renomeação para saber mais sobre esse argumento.

--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.