mirror of
https://github.com/FlipsideCrypto/flow-models.git
synced 2026-02-06 09:16:59 +00:00
An 1709/make dev refresh dbt cloud op (#38)
* dev refresh will now run on dbt cloud * remove unintended file commit
This commit is contained in:
parent
6854a94ed1
commit
ab3c73e994
@ -25,10 +25,9 @@ clean-targets: # directories to be removed by `dbt clean`
|
||||
- "dbt_packages"
|
||||
|
||||
on-run-start:
|
||||
- "{{create_sps()}}"
|
||||
- "{{create_tasks()}}"
|
||||
- "{{create_udfs()}}"
|
||||
- "{{sp_create_bulk_get_topshot_moments_minted_metadata()}}"
|
||||
- '{{create_sps()}}'
|
||||
- '{{create_udfs()}}'
|
||||
- '{{sp_create_bulk_get_topshot_moments_minted_metadata()}}'
|
||||
|
||||
# Configuring models
|
||||
# Full documentation: https://docs.getdbt.com/docs/configuring-models
|
||||
|
||||
@ -1,7 +0,0 @@
|
||||
{% macro create_tasks() %}
|
||||
{% if target.database == 'FLOW' %}
|
||||
CREATE SCHEMA IF NOT EXISTS _internal;
|
||||
{{ task_run_sp_create_prod_clone('_internal') }};
|
||||
{% endif %}
|
||||
|
||||
{% endmacro %}
|
||||
7
macros/run_sp_create_prod_clone.sql
Normal file
7
macros/run_sp_create_prod_clone.sql
Normal file
@ -0,0 +1,7 @@
|
||||
{% macro run_sp_create_prod_clone() %}
|
||||
{% set clone_query %}
|
||||
call flow._internal.create_prod_clone('flow', 'flow_dev', 'internal_dev');
|
||||
{% endset %}
|
||||
|
||||
{% do run_query(clone_query) %}
|
||||
{% endmacro %}
|
||||
@ -33,13 +33,33 @@ $$
|
||||
snowflake.execute({sqlText: `GRANT OWNERSHIP ON TABLE ${DESTINATION_DB_NAME}.${schema}.${table_name} TO ROLE ${ROLE_NAME} COPY CURRENT GRANTS;`});
|
||||
}
|
||||
|
||||
var existing_procedures = snowflake.execute({sqlText: `SELECT stage_schema, stage_name
|
||||
var existing_stages = snowflake.execute({sqlText: `SELECT stage_schema, stage_name
|
||||
FROM ${DESTINATION_DB_NAME}.INFORMATION_SCHEMA.STAGES;`});
|
||||
|
||||
while (existing_stages.next()) {
|
||||
var schema = existing_stages.getColumnValue(1)
|
||||
var stage_name = existing_stages.getColumnValue(2)
|
||||
snowflake.execute({sqlText: `GRANT OWNERSHIP ON STAGE ${DESTINATION_DB_NAME}.${schema}.${stage_name} to role ${ROLE_NAME} REVOKE CURRENT GRANTS;`});
|
||||
}
|
||||
|
||||
var existing_functions = snowflake.execute({sqlText: `SELECT function_schema, function_name, concat('(',array_to_string(regexp_substr_all(argument_signature, 'VARCHAR|NUMBER|FLOAT|ARRAY|VARIANT|OBJECT|DOUBLE'),','),')') as argument_signature
|
||||
FROM ${DESTINATION_DB_NAME}.INFORMATION_SCHEMA.FUNCTIONS;`});
|
||||
|
||||
while (existing_functions.next()) {
|
||||
var schema = existing_functions.getColumnValue(1)
|
||||
var function_name = existing_functions.getColumnValue(2)
|
||||
var argument_signature = existing_functions.getColumnValue(3)
|
||||
snowflake.execute({sqlText: `GRANT OWNERSHIP ON FUNCTION ${DESTINATION_DB_NAME}.${schema}.${function_name}${argument_signature} to role ${ROLE_NAME} REVOKE CURRENT GRANTS;`});
|
||||
}
|
||||
|
||||
var existing_procedures = snowflake.execute({sqlText: `SELECT procedure_schema, procedure_name, concat('(',array_to_string(regexp_substr_all(argument_signature, 'VARCHAR|NUMBER|FLOAT|ARRAY|VARIANT|OBJECT|DOUBLE'),','),')') as argument_signature
|
||||
FROM ${DESTINATION_DB_NAME}.INFORMATION_SCHEMA.PROCEDURES;`});
|
||||
|
||||
while (existing_procedures.next()) {
|
||||
var schema = existing_procedures.getColumnValue(1)
|
||||
var stage_name = existing_procedures.getColumnValue(2)
|
||||
snowflake.execute({sqlText: `GRANT OWNERSHIP ON STAGE ${DESTINATION_DB_NAME}.${schema}.${stage_name} to role ${ROLE_NAME} REVOKE CURRENT GRANTS;`});
|
||||
var procedure_name = existing_procedures.getColumnValue(2)
|
||||
var argument_signature = existing_procedures.getColumnValue(3)
|
||||
snowflake.execute({sqlText: `GRANT OWNERSHIP ON PROCEDURE ${DESTINATION_DB_NAME}.${schema}.${procedure_name}${argument_signature} to role ${ROLE_NAME} REVOKE CURRENT GRANTS;`});
|
||||
}
|
||||
|
||||
snowflake.execute({sqlText: `GRANT OWNERSHIP ON DATABASE ${DESTINATION_DB_NAME} TO ROLE ${ROLE_NAME};`})
|
||||
|
||||
@ -1,9 +0,0 @@
|
||||
{% macro task_run_sp_create_prod_clone(target_schema) -%}
|
||||
create or replace task {{target_schema}}.run_sp_create_prod_clone
|
||||
warehouse = dbt_cloud
|
||||
schedule = 'USING CRON 15 10 * * * UTC'
|
||||
as
|
||||
call {{ target_schema }}.create_prod_clone('flow', 'flow_dev', 'internal_dev');
|
||||
|
||||
alter task {{ target_schema }}.run_sp_create_prod_clone resume
|
||||
{%- endmacro %}
|
||||
Loading…
Reference in New Issue
Block a user