'terraform: database does not exist

I am fairly new to Terraform and trying to create database and schema using terraform in Snowflake.

To start with I have written a script to create a Database and Schema.

However when I run the below code. On the first run It creates the Database and then throw error on schema -- Database SNOWACC does not exist. and when I run again it creates the schema successfully.

Seems like terraform is not getting the latest DB status in same script.

terraform {
  required_providers {
    snowflake = {
      source  = "chanzuckerberg/snowflake"
      version = "0.25.36"
    }
  }
}

provider "snowflake" {
  alias = "sys_admin"
  role  = "DBA"
}

resource "snowflake_database" "db" {
  provider       = snowflake.sys_admin
  name     = "SNOWACC"
  comment  = "Database created for snowflake monitoring through terraform"
}

resource "snowflake_schema" "schema" {
  provider       = snowflake.sys_admin
  database = "SNOWACC"
  name     = "MONITOR"
  comment  = "Schema for snowflake monitoring created by TF"
}

I have a feeling, I will have to run DB and Schema script separately and then all object (table, view, task etc) seperately.

I am hoping If there is better way.



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source