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
Copy

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.

-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 file. 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 contain 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"
Copy

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"
Copy