@@ -2,40 +2,71 @@ set dotenv-load
2
2
set positional-arguments
3
3
4
4
5
- test_dsl :
5
+ test :
6
6
#!/usr/bin/env bash
7
7
set -euxo pipefail
8
8
9
- PGPASSWORD=$CS_DATABASE__PASSWORD dropdb --force --if -exists --username $CS_DATABASE__USERNAME --port $CS_DATABASE__PORT cs_migrator_test
10
- PGPASSWORD=$CS_DATABASE__PASSWORD createdb --username $CS_DATABASE__USERNAME --port $CS_DATABASE__PORT cs_migrator_test
9
+ PGPASSWORD=$CS_DATABASE__PASSWORD dropdb --force --if -exists --username ${ CS_DATABASE__USERNAME:-$USER} --port $CS_DATABASE__PORT $CS_DATABASE__NAME
10
+ PGPASSWORD=$CS_DATABASE__PASSWORD createdb --username ${ CS_DATABASE__USERNAME:-$USER} --port $CS_DATABASE__PORT $CS_DATABASE__NAME
11
11
12
- connection_url=postgresql:// $CS_DATABASE__USERNAME:@localhost:$CS_DATABASE__PORT/ cs_migrator_test
13
- PGPASSWORD=$CS_DATABASE__PASSWORD psql $connection_url -f sql/ dsl-core.sql
14
- PGPASSWORD=$CS_DATABASE__PASSWORD psql $connection_url -f sql/ dsl-config-schema.sql
15
- PGPASSWORD=$CS_DATABASE__PASSWORD psql $connection_url -f sql/ dsl-config-functions.sql
16
- PGPASSWORD=$CS_DATABASE__PASSWORD psql $connection_url -f sql/ dsl-encryptindex.sql
12
+ connection_url=postgresql:// ${CS_DATABASE__USERNAME:-$USER}:@localhost:$CS_DATABASE__PORT/ $CS_DATABASE__NAME
13
+
14
+ # Install
15
+ PGPASSWORD=$CS_DATABASE__PASSWORD psql $connection_url -f release/ cipherstash-encrypt.sql
17
16
18
17
# tests
19
18
PGPASSWORD=$CS_DATABASE__PASSWORD psql $connection_url -f tests/ core.sql
20
19
PGPASSWORD=$CS_DATABASE__PASSWORD psql $connection_url -f tests/ config.sql
21
20
PGPASSWORD=$CS_DATABASE__PASSWORD psql $connection_url -f tests/ encryptindex.sql
22
21
23
- dropdb --username $CS_DATABASE__USERNAME --port $CS_DATABASE__PORT cs_migrator_test
22
+ # Uninstall
23
+ PGPASSWORD=$CS_DATABASE__PASSWORD psql $connection_url -f release/ cipherstash-encrypt-uninstall.sql
24
24
25
+ dropdb --username ${CS_DATABASE__USERNAME:-$USER} --port $CS_DATABASE__PORT $CS_DATABASE__NAME
25
26
26
27
build :
27
28
#!/usr/bin/env bash
28
29
set -euxo pipefail
29
30
30
31
mkdir -p release
31
32
32
- cat sql/ 666 -drop.sql > release/ cipherstash-encrypt-uninstall.sql
33
- grep -h ' ^DROP' sql/ 0*-*.sql | tac >> release/ cipherstash-encrypt-uninstall.sql
33
+ rm -f release/ cipherstash-encrypt-uninstall.sql
34
+ rm -f release/ cipherstash-encrypt.sql
35
+
36
+ # Collect all the drops
37
+ # In reverse order (tac) so that we drop the constraints before the tables
38
+ grep -h -E ' ^(DROP|ALTER DOMAIN [^ ]+ DROP CONSTRAINT)' sql/ 0*-*.sql | tac > release/ cipherstash-encrypt-tmp-drop.sql
39
+ # types are always last
40
+ cat sql/ 666 -drop_types.sql >> release/ cipherstash-encrypt-tmp-drop.sql
41
+
34
42
35
- cat release/ cipherstash-encrypt-uninstall.sql > release/ cipherstash-encrypt.sql
43
+ # Build cipherstash-encrypt.sql
44
+ # drop everything first
45
+ cat release/ cipherstash-encrypt-tmp-drop.sql > release/ cipherstash-encrypt.sql
46
+ # cat the rest of the sql files
36
47
cat sql/ 0*-*.sql >> release/ cipherstash-encrypt.sql
37
48
38
49
50
+ # Build cipherstash-encrypt-uninstall.sql
51
+ # prepend the drops to the main sql file
52
+ cat release/ cipherstash-encrypt-tmp-drop.sql >> release/ cipherstash-encrypt-uninstall.sql
53
+ # uninstall renames configuration table
54
+ cat sql/ 666 -rename_configuration_table.sql >> release/ cipherstash-encrypt-uninstall.sql
55
+
56
+ # remove the drop file
57
+ # rm release/cipherstash-encrypt-tmp-drop.sql
58
+
59
+
60
+ reset :
61
+ #!/usr/bin/env bash
62
+ set -euxo pipefail
63
+
64
+ PGPASSWORD=$CS_DATABASE__PASSWORD dropdb --force --if -exists --username ${CS_DATABASE__USERNAME:-$USER} --port $CS_DATABASE__PORT $CS_DATABASE__NAME
65
+ PGPASSWORD=$CS_DATABASE__PASSWORD createdb --username ${CS_DATABASE__USERNAME:-$USER} --port $CS_DATABASE__PORT $CS_DATABASE__NAME
66
+
67
+ PGPASSWORD=$CS_DATABASE__PASSWORD psql $connection_url -f release/ cipherstash-encrypt.sql
68
+
69
+
39
70
psql :
40
71
psql postgresql:// $CS_USERNAME:$CS_PASSWORD@localhost:$CS_PORT/ $CS_DATABASE__NAME
41
72
0 commit comments