diff --git a/.env.sample b/.env.sample new file mode 100644 index 0000000..c0306a1 --- /dev/null +++ b/.env.sample @@ -0,0 +1,8 @@ +SF_ACCOUNT=vna27887.us-east-1 +SF_USERNAME= +SF_PASSWORD= +SF_REGION=us-east-1 +SF_DATABASE=FLOW_COMMUNITY_DEV +SF_WAREHOUSE=FLIPSIDE_COMMUNITY_CURATOR +SF_ROLE=FLIPSIDE_COMMUNITY_CURATOR +SF_SCHEMA=SILVER \ No newline at end of file diff --git a/.gitignore b/.gitignore index 1a26a2c..c1efebc 100644 --- a/.gitignore +++ b/.gitignore @@ -15,4 +15,5 @@ logs/ **/.DS_Store .vscode/ -.dbt/.user.yml \ No newline at end of file +.dbt/.user.yml +.env \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..129ba96 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,9 @@ +FROM ghcr.io/dbt-labs/dbt-snowflake:1.2.latest +WORKDIR /support +RUN mkdir /root/.dbt +COPY profiles.yml /root/.dbt +RUN mkdir /root/flow +WORKDIR /flow +COPY . . +EXPOSE 8080 +ENTRYPOINT [ "bash"] \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..2a695b8 --- /dev/null +++ b/Makefile @@ -0,0 +1,6 @@ +SHELL := /bin/bash + +dbt-console: + docker-compose run dbt_console + +.PHONY: dbt-console \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..3cc756c --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,9 @@ +version: "3.4" + +services: + dbt_console: + build: . + volumes: + - .:/flow + env_file: + - .env diff --git a/macros/create_udfs.sql b/macros/create_udfs.sql index 7cb178f..277e43a 100644 --- a/macros/create_udfs.sql +++ b/macros/create_udfs.sql @@ -1,7 +1,9 @@ {% macro create_udfs() %} - {% set sql %} - {{ udf_bulk_get_topshot_moments_minted_metadata() }}; - {{ udf_bulk_get_nfl_allday_moments_metadata() }}; - {% endset %} - {% do run_query(sql) %} + {% if target.database != "FLOW_COMMUNITY_DEV" %} + {% set sql %} + {{ udf_bulk_get_topshot_moments_minted_metadata() }}; + {{ udf_bulk_get_nfl_allday_moments_metadata() }}; + {% endset %} + {% do run_query(sql) %} + {% endif %} {% endmacro %} diff --git a/macros/run_sp_create_prod_community_clone.sql b/macros/run_sp_create_prod_community_clone.sql new file mode 100644 index 0000000..c16b234 --- /dev/null +++ b/macros/run_sp_create_prod_community_clone.sql @@ -0,0 +1,7 @@ +{% macro run_sp_create_prod_community_clone() %} +{% set clone_query %} +call flow._internal.create_prod_clone('flow', 'flow_community_dev', 'flipside_community_curator'); +{% endset %} + +{% do run_query(clone_query) %} +{% endmacro %} \ No newline at end of file diff --git a/profiles.yml b/profiles.yml new file mode 100644 index 0000000..374acd1 --- /dev/null +++ b/profiles.yml @@ -0,0 +1,19 @@ +flow: + target: dev + outputs: + dev: + type: snowflake + account: "{{ env_var('SF_ACCOUNT') }}" + # User/password auth + user: "{{ env_var('SF_USERNAME') }}" + password: "{{ env_var('SF_PASSWORD') }}" + role: "{{ env_var('SF_ROLE') }}" + schema: "{{ env_var('SF_SCHEMA') }}" + region: "{{ env_var('SF_REGION') }}" + database: "{{ env_var('SF_DATABASE') }}" + warehouse: "{{ env_var('SF_WAREHOUSE') }}" + threads: 4 + client_session_keep_alive: False + query_tag: flow_curator + config: + send_anonymous_usage_stats: False \ No newline at end of file