SnowConvert AI - Teradata¶
Argumentos específicos da CLI¶
Os seguintes argumentos de CLI são específicos para executar migrações com o SnowConvert AI para 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;
-- Additional Params: -s customSchema
SELECT
* FROM
customSchema.tableName;
-- Additional Params: -s customSchema --displaceDatabaseAsSchema
SELECT
* FROM
databaseName.customSchema.tableName;
--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 TIME padrão (Padrão: "HH:MI:SS.FF6").
--DefaultTimestampFormat <STRING>¶
Valor da cadeia de caracteres para o formato TIMESTAMP padrão (padrão: "YYYY/MM/DD HH:MI:SS.FF6").
--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>¶
O SnowConvert AI trata o código Teradata nos modos TERA e ANSI. Atualmente, isto está limitado à especificação de maiúsculas/minúsculas padrão dos dados de caracteres e como isso afeta as comparações.
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.
Para saber mais sobre como o SnowConvert AI trata e converte código dependendo do modo de sessão, consulte aqui.
--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;
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;
-- 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;
--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)
);
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"}}'
;
-- 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"}}'
;
--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¶
Este sinalizador indica se será usado COLLATE ou UPPER para preservar a funcionalidade da especificação de maiúsculas/minúsculas, por exemplo CASESPECIFIC ou NOT CASESPECIFIC. Por padrão, ele é desativado, o que significa que a função UPPER será usada para emular a não diferenciação entre maiúsculas e minúsculas (NOT CASESPECIFIC). Para saber mais sobre como a especificação de maiúsculas/minúsculas é tratada pelo SnowConvert AI, consulte aqui.