Skip to content

Commit

Permalink
(fixes #1316) Fix for alter table rename on Snowflake tables, added t…
Browse files Browse the repository at this point in the history
…ests
  • Loading branch information
drewbanin committed Feb 26, 2019
1 parent 42ec3f9 commit 9c9c0d9
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 2 deletions.
7 changes: 7 additions & 0 deletions plugins/snowflake/dbt/include/snowflake/macros/adapters.sql
Original file line number Diff line number Diff line change
Expand Up @@ -81,3 +81,10 @@
{% macro snowflake__current_timestamp() -%}
convert_timezone('UTC', current_timestamp())
{%- endmacro %}


{% macro snowflake__rename_relation(from_relation, to_relation) -%}
{% call statement('rename_relation') -%}
alter table {{ from_relation }} rename to {{ to_relation }}
{%- endcall %}
{% endmacro %}
2 changes: 1 addition & 1 deletion test/integration/024_custom_schema_test/models/view_3.sql
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

{{ config(schema='test') }}
{{ config(schema='test', materialized='table') }}


with v1 as (
Expand Down
38 changes: 37 additions & 1 deletion test/integration/024_custom_schema_test/test_custom_schema.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from nose.plugins.attrib import attr
from test.integration.base import DBTIntegrationTest
from test.integration.base import DBTIntegrationTest, use_profile


class TestCustomSchema(DBTIntegrationTest):
Expand Down Expand Up @@ -85,6 +85,42 @@ def test__postgres__custom_schema_with_prefix(self):
self.assertTablesEqual("agg","view_3", schema, xf_schema)


class TestCustomProjectSchemaWithPrefixSnowflake(DBTIntegrationTest):

@property
def schema(self):
return "custom_schema_024"

@property
def models(self):
return "test/integration/024_custom_schema_test/models"

@property
def project_config(self):
return {
"models": {
"schema": "dbt_test"
}
}

@use_profile('snowflake')
def test__snowflake__custom_schema_with_prefix(self):
self.use_default_project()
self.run_sql_file("test/integration/024_custom_schema_test/seed.sql")

results = self.run_dbt()
self.assertEqual(len(results), 3)

schema = self.unique_schema().upper()
v1_schema = "{}_DBT_TEST".format(schema)
v2_schema = "{}_CUSTOM".format(schema)
xf_schema = "{}_TEST".format(schema)

self.assertTablesEqual("SEED","VIEW_1", schema, v1_schema)
self.assertTablesEqual("SEED","VIEW_2", schema, v2_schema)
self.assertTablesEqual("AGG","VIEW_3", schema, xf_schema)


class TestCustomSchemaWithCustomMacro(DBTIntegrationTest):

@property
Expand Down

0 comments on commit 9c9c0d9

Please sign in to comment.