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
  --project <project_definition>
  --connection <connection>
  --account <account>
  --user <user>
  --password <password>
  --authenticator <authenticator>
  --private-key-path <private_key_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.

-p, --project TEXT

Path where the Snowflake Native App project resides. Defaults to current working directory.

--connection, -c, --environment TEXT

Name of the connection, as defined in your config.toml. Default: default.

--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-path TEXT

Snowflake private key path. Overrides the value specified for the connection.

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

--mfa-passcode TEXT

Token to use for multi-factor authentication (MFA).

--enable-diag

Run python connector diagnostic test.

--diag-log-path TEXT

Diagnostic report path.

--diag-allowlist-path TEXT

Diagnostic report path to optional allowlist.

--format [TABLE|JSON]

Specifies the output format.

--verbose, -v

Displays log entries for log levels info and higher.

--debug

Displays log entries for log levels debug and higher; debug logs contains additional information.

--silent

Turns off intermediate output to console.

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