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