Skip to content

Commit 5405666

Browse files
added in role for snowsql and added in database-permissions script
1 parent 25384a5 commit 5405666

File tree

2 files changed

+60
-0
lines changed

2 files changed

+60
-0
lines changed

tasks/database-clone/action.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,12 +64,14 @@ runs:
6464
-u $SNOWSQL_USER \
6565
-d $SNOWSQL_DATABASE \
6666
-w $SNOWSQL_WAREHOUSE \
67+
-r $SNOWSQL_ROLE \
6768
-f database-clone.sql
6869
env:
6970
SNOWSQL_ACCOUNT: ${{ inputs.snowflake-account }}
7071
SNOWSQL_USER: ${{ inputs.snowflake-username }}
7172
SNOWSQL_PWD: ${{ inputs.snowflake-password }}
7273
SNOWSQL_DATABASE: ${{ inputs.source-database }}
74+
SNOWSQL_ROLE: ${{ inputs.snowflake-role }}
7375
SNOWSQL_WAREHOUSE: ${{ inputs.snowflake-warehouse }}
7476
working-directory: ${{ inputs.working-directory }}
7577

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: Clone Database to Unit Test
2+
description: Generates a test database
3+
inputs:
4+
working-directory:
5+
description: The directory where the scripts are located
6+
required: true
7+
target-database:
8+
description: The target database name to clone to
9+
required: true
10+
snowflake-account:
11+
description: The Snowflake account name
12+
required: true
13+
snowflake-username:
14+
description: The Snowflake username
15+
required: true
16+
snowflake-password:
17+
description: The Snowflake password
18+
required: true
19+
snowflake-role:
20+
description: The Snowflake role
21+
required: true
22+
snowflake-warehouse:
23+
description: The Snowflake warehouse
24+
required: true
25+
26+
runs:
27+
using: "composite"
28+
steps:
29+
- name: Find and replace the placeholders
30+
run: |
31+
sed -i 's/<<TARGET_DATABASE_NAME>>/${{ inputs.target-database }}/g' database-permissions.sql
32+
shell: pwsh
33+
working-directory: ${{ inputs.working-directory }}
34+
- name: Download SnowSQL
35+
shell: bash
36+
run: curl -O https://sfc-repo.snowflakecomputing.com/snowsql/bootstrap/1.2/linux_x86_64/snowsql-1.2.9-linux_x86_64.bash
37+
- name: Install SnowSQL
38+
shell: bash
39+
run: SNOWSQL_DEST=~/snowflake SNOWSQL_LOGIN_SHELL=~/.profile bash snowsql-1.2.9-linux_x86_64.bash
40+
- name: Execute SQL against Snowflake
41+
shell: bash
42+
run: |
43+
~/snowflake/snowsql \
44+
-a $SNOWSQL_ACCOUNT \
45+
-u $SNOWSQL_USER \
46+
-d $SNOWSQL_DATABASE \
47+
-w $SNOWSQL_WAREHOUSE \
48+
-r $SNOWSQL_ROLE \
49+
-f database-permissions.sql
50+
env:
51+
SNOWSQL_ACCOUNT: ${{ inputs.snowflake-account }}
52+
SNOWSQL_USER: ${{ inputs.snowflake-username }}
53+
SNOWSQL_PWD: ${{ inputs.snowflake-password }}
54+
SNOWSQL_DATABASE: ${{ inputs.source-database }}
55+
SNOWSQL_ROLE: ${{ inputs.snowflake-role }}
56+
SNOWSQL_WAREHOUSE: ${{ inputs.snowflake-warehouse }}
57+
working-directory: ${{ inputs.working-directory }}
58+

0 commit comments

Comments
 (0)