From ed39c69c7a399fbb512e06d7e8f64125668e0994 Mon Sep 17 00:00:00 2001 From: desmond-hui <97470747+desmond-hui@users.noreply.github.com> Date: Mon, 17 Oct 2022 16:32:28 -0700 Subject: [PATCH] add resources for community curation (#75) --- .env.sample | 8 ++++++++ .gitignore | 3 ++- Dockerfile | 9 +++++++++ Makefile | 6 ++++++ docker-compose.yml | 9 +++++++++ macros/create_udfs.sql | 12 +++++++----- macros/run_sp_create_prod_community_clone.sql | 7 +++++++ profiles.yml | 19 +++++++++++++++++++ 8 files changed, 67 insertions(+), 6 deletions(-) create mode 100644 .env.sample create mode 100644 Dockerfile create mode 100644 Makefile create mode 100644 docker-compose.yml create mode 100644 macros/run_sp_create_prod_community_clone.sql create mode 100644 profiles.yml 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