Command Line Interface

Quick start

To execute a conversion with the SnowConvert CLI you have to have an active license. Currently, the licenses for the CLI are different than the UI, but if you already have a license for the UI you should be able to reuse the same license key. In the section below we show how to install a license key.

There are several Command Line Arguments documented below, but the main ones are -i for the input folder and -o for the output folder.

Install a license

To install a license key just execute SnowConvert CLI program with the -l argument and the license key.

$: snowct -l P-ABCD-12345-EFGHI

Check license status

To install a license key just execute SnowConvert CLI program with just the -l and no other arguments.

$: snowct -l

Migrate a folder

To migrate a folder just execute SnowConvert CLI program with the -i <INPUT FOLDER> and -o <OUTPUT FOLDER> arguments.

$: snowct -i ~/Documents/Workspace/Code -o ~/Documents/Workspace/Output

CLI Arguments

Basic Conversion

-i, --input <PATH> (Required)

The path to the folder or file containing the input source code.

-o, --output <PATH> (Required)

The path to the output folder where the converted code and reports will be stored.

-a, --assessmentmode

Flag to indicate whether or not to generate only Assessments files. By default, it's set to FALSE.

-e, --encoding <CODE PAGE>

The encoding code page number used for parsing the source files. We only accept encodings supported by .NET Core. Here are the ones supported at the moment:

Code Page

Name

Display Name

1200

utf-16

Unicode

1201

unicodeFFFE

Unicode (Big endian)

12000

utf-32

Unicode (UTF-32)

12001

utf-32BE

Unicode (UTF-32 Big endian)

20127

us-ascii

US-ASCII

28591

iso-8859-1

Western European (ISO)

65000

utf-7

Unicode (UTF-7). Not available in .NET 5

65001

utf-8

Unicode (UTF-8). Default encoding

-m, --comments

Flag to indicate if user wants to comment nodes that have missing dependencies.

Object Name Customization

-s, --customschema <SCHEMA_NAME>

String value specifying the custom schema name to apply. If not specified, either PUBLIC or the original database name will be used. Example: DB1.MyCustomSchema.Table1.

-d, --database <DB_NAME>

String value specifying the custom database name to apply. Example: MyCustomDB.PUBLIC.Table1.

Format Conversion

--CharacterToApproximateNumber <NUMBER>

Integer value for the CHARACTER to Approximate Number transformation (Default: 10).

--DefaultDateFormat <STRING>

String value for the Default DATE format (Default: "YYYY/MM/DD").

--DefaultTimeFormat <STRING>

String value for the Default TIME format (Default: "HH:MI:SS") .

--DefaultTimestampFormat <STRING>

String value for the Default TIMESTAMP format (Default: "YYYY/MM/DD HH:MI:SS").

--DefaultTimezoneFormat <STRING>

String value for the Default TIMEZONE format (Default: "GMT-5").

Cast Conversion

--avoidTruncatedDataInCast

Flag to indicate whether or not to change string cast to a trimming function when it might truncate data.

--warnIfCastMightTruncateData

Flag to indicate whether or not the user wants to be warned when a string cast should be changed to a trimming function to avoid data truncation.

--useLeftFunctionInTruncatedCast

Flag to indicate whether or not to use the LEFT function in string cast that might truncate data.

--replaceDeleteAllToTruncate

Flag to indicate whether Delete All statements must be replaced to Truncate or not.

--disableEWIsGeneration

Flag to indicate whether EWIs comments (Errors, Warnings, and Issues) will be generated on the converted code. Default is false.

License and Help

-l, --license [<LICENSE_KEY>]

Shows the license information. If it's followed by a license key, it will attempt to download and install such a license. For example:

  • Showing license status snowct -l

  • Installing a license snowct -l 12345-ASDFG-67890

--terms

Show license terms information.

--help

Display the help information.