Created
June 14, 2024 08:24
-
-
Save vwo-kb/9223086e229f228fee8ae42dded6a9be to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| -- Set variables (must be uppercase) | |
| SET VWO_ROLE = 'VWO_ROLE'; | |
| SET VWO_USERNAME = 'VWO_USER'; | |
| SET VWO_WAREHOUSE = 'VWO_WAREHOUSE'; | |
| SET VWO_DATABASE = 'VWO_DATABASE'; | |
| SET VWO_SCHEMA = 'VWO_SCHEMA'; | |
| -- Set user password | |
| SET VWO_PASSWORD = 'secure_password'; | |
| BEGIN; | |
| -- Create VWO role | |
| USE ROLE securityadmin; | |
| CREATE ROLE IF NOT EXISTS IDENTIFIER($VWO_ROLE); | |
| GRANT ROLE IDENTIFIER($VWO_ROLE) TO ROLE SYSADMIN; | |
| -- Create VWO user | |
| CREATE USER IF NOT EXISTS IDENTIFIER($VWO_USERNAME) | |
| PASSWORD = $VWO_PASSWORD | |
| DEFAULT_ROLE = $VWO_ROLE | |
| DEFAULT_WAREHOUSE = $VWO_WAREHOUSE; | |
| GRANT ROLE IDENTIFIER($VWO_ROLE) TO USER IDENTIFIER($VWO_USERNAME); | |
| -- Switch role to sysadmin for warehouse and database setup | |
| USE ROLE sysadmin; | |
| -- Create VWO warehouse | |
| CREATE WAREHOUSE IF NOT EXISTS IDENTIFIER($VWO_WAREHOUSE) | |
| WAREHOUSE_SIZE = 'XSMALL' | |
| WAREHOUSE_TYPE = 'STANDARD' | |
| AUTO_SUSPEND = 60 | |
| AUTO_RESUME = TRUE | |
| INITIALLY_SUSPENDED = TRUE; | |
| -- Create VWO database | |
| CREATE DATABASE IF NOT EXISTS IDENTIFIER($VWO_DATABASE); | |
| -- Grant VWO warehouse access | |
| GRANT USAGE | |
| ON WAREHOUSE IDENTIFIER($VWO_WAREHOUSE) | |
| TO ROLE IDENTIFIER($VWO_ROLE); | |
| -- Grant VWO database access | |
| GRANT OWNERSHIP | |
| ON DATABASE IDENTIFIER($VWO_DATABASE) | |
| TO ROLE IDENTIFIER($VWO_ROLE); | |
| COMMIT; | |
| BEGIN; | |
| USE DATABASE IDENTIFIER($VWO_DATABASE); | |
| -- Create schema for VWO data | |
| CREATE SCHEMA IF NOT EXISTS IDENTIFIER($VWO_SCHEMA); | |
| COMMIT; | |
| BEGIN; | |
| -- Grant VWO schema access | |
| GRANT OWNERSHIP | |
| ON SCHEMA IDENTIFIER($VWO_SCHEMA) | |
| TO ROLE IDENTIFIER($VWO_ROLE); | |
| COMMIT; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment