From 8279eaac27220c0845be991a744a6817a5785803 Mon Sep 17 00:00:00 2001 From: desmond-hui <97470747+desmond-hui@users.noreply.github.com> Date: Tue, 21 Jun 2022 09:20:06 -0700 Subject: [PATCH] clone stages to dev (#30) --- macros/sp_create_prod_clone.sql | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/macros/sp_create_prod_clone.sql b/macros/sp_create_prod_clone.sql index f63149a..c17e526 100644 --- a/macros/sp_create_prod_clone.sql +++ b/macros/sp_create_prod_clone.sql @@ -33,6 +33,15 @@ $$ 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 + FROM ${DESTINATION_DB_NAME}.INFORMATION_SCHEMA.STAGES;`}); + + 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;`}); + } + snowflake.execute({sqlText: `GRANT OWNERSHIP ON DATABASE ${DESTINATION_DB_NAME} TO ROLE ${ROLE_NAME};`}) snowflake.execute({sqlText: `COMMIT;`}); } catch (err) {