snow app teardown¶
Attempts to drop both the application object and application package as defined in the project definition file.
Syntax¶
snow app teardown
--force
--cascade / --no-cascade
--interactive / --no-interactive
--package-entity-id <package_entity_id>
--project <project_definition>
--env <env_overrides>
--connection <connection>
--host <host>
--port <port>
--account <account>
--user <user>
--password <password>
--authenticator <authenticator>
--private-key-file <private_key_file>
--token-file-path <token_file_path>
--database <database>
--schema <schema>
--role <role>
--warehouse <warehouse>
--temporary-connection
--mfa-passcode <mfa_passcode>
--enable-diag
--diag-log-path <diag_log_path>
--diag-allowlist-path <diag_allowlist_path>
--format <format>
--verbose
--debug
--silent
Arguments¶
None
Options¶
--force
When enabled, this option causes the command to implicitly approve any prompts that arise. You should enable this option if interactive mode is not specified and if you want perform potentially destructive actions. Defaults to unset. Default: False.
--cascade / --no-cascade
Whether to drop all application objects owned by the application within the account. Default: false.
--interactive / --no-interactive
When enabled, this option displays prompts even if the standard input and output are not terminal devices. Defaults to True in an interactive shell environment, and False otherwise.
--package-entity-id TEXT
The ID of the package entity on which to operate when definition_version is 2 or higher. Default: .
-p, --project TEXT
Path where Snowflake project resides. Defaults to current working directory.
--env TEXT
String in format of key=value. Overrides variables from env section used for templates. Default: [].
--connection, -c, --environment TEXT
Name of the connection, as defined in your
config.toml
. Default:default
.--host TEXT
Host address for the connection. Overrides the value specified for the connection.
--port INTEGER
Port for the connection. Overrides the value specified for the connection.
--account, --accountname TEXT
Name assigned to your Snowflake account. Overrides the value specified for the connection.
--user, --username TEXT
Username to connect to Snowflake. Overrides the value specified for the connection.
--password TEXT
Snowflake password. Overrides the value specified for the connection.
--authenticator TEXT
Snowflake authenticator. Overrides the value specified for the connection.
--private-key-file, --private-key-path TEXT
Snowflake private key file path. Overrides the value specified for the connection.
--token-file-path TEXT
Path to file with an OAuth token that should be used when connecting to Snowflake.
--database, --dbname TEXT
Database to use. Overrides the value specified for the connection.
--schema, --schemaname TEXT
Database schema to use. Overrides the value specified for the connection.
--role, --rolename TEXT
Role to use. Overrides the value specified for the connection.
--warehouse TEXT
Warehouse to use. Overrides the value specified for the connection.
--temporary-connection, -x
Uses connection defined with command line parameters, instead of one defined in config. Default: False.
--mfa-passcode TEXT
Token to use for multi-factor authentication (MFA).
--enable-diag
Run python connector diagnostic test. Default: False.
--diag-log-path TEXT
Diagnostic report path. Default: <temporary_directory>.
--diag-allowlist-path TEXT
Diagnostic report path to optional allowlist.
--format [TABLE|JSON]
Specifies the output format. Default: TABLE.
--verbose, -v
Displays log entries for log levels
info
and higher. Default: False.--debug
Displays log entries for log levels
debug
and higher; debug logs contains additional information. Default: False.--silent
Turns off intermediate output to console. Default: False.
--help
Displays the help text for this command.
Usage notes¶
Note
This command does not accept a role or warehouse overrides to your config.toml
file. Please add them to the native app definition in the snowflake.yml
or snowflake.local.yml
instead.
When attempting to drop an application, the command checks if it was created by the Snowflake CLI. If it was not, the command prompts you if it should proceed. You can force the drop through the
--force
option.When attempting to drop an application package, if the distribution of the application package is
INTERNAL
, the command checks if the package was created by the Snowflake CLI. If it was not, the command prompts you if it should proceed. You can force the drop through the--force
option.If the distribution of the application package is
EXTERNAL
, the command prompts you if it should succeed, regardless the process by which it was created.The command warns you if the application package you are working with has a different value for distribution than is set in your resolved project definition, but continues execution.
The stage created inside the application package is also dropped. The command does not drop any side effect objects were created by your application or other scripts. You must manually drop them.
This command succeeds even if one or both of these objects do not exist.
Examples¶
If you want to attempt to drop objects specified in snowflake.yml
or snowflake.local.yml
, you can execute:
snow app teardown --connection="dev"
If you do not have an application instance but want to drop you application package specified in snowflake.yml
, or vice versa, you can still execute the command above.
If you do not want to interact with the command and want to force dropping the objects, you can execute:
snow app teardown --force --connection="dev"