@@ -2,40 +2,71 @@ set dotenv-load
22set positional-arguments
33
44
5- test_dsl :
5+ test :
66 #!/usr/bin/env bash
77 set -euxo pipefail
88
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
1111
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
1716
1817 # tests
1918 PGPASSWORD=$CS_DATABASE__PASSWORD psql $connection_url -f tests/ core.sql
2019 PGPASSWORD=$CS_DATABASE__PASSWORD psql $connection_url -f tests/ config.sql
2120 PGPASSWORD=$CS_DATABASE__PASSWORD psql $connection_url -f tests/ encryptindex.sql
2221
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
2424
25+ dropdb --username ${CS_DATABASE__USERNAME:-$USER} --port $CS_DATABASE__PORT $CS_DATABASE__NAME
2526
2627build :
2728 #!/usr/bin/env bash
2829 set -euxo pipefail
2930
3031 mkdir -p release
3132
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+
3442
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
3647 cat sql/ 0*-*.sql >> release/ cipherstash-encrypt.sql
3748
3849
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+
3970psql :
4071 psql postgresql:// $CS_USERNAME:$CS_PASSWORD@localhost:$CS_PORT/ $CS_DATABASE__NAME
4172
0 commit comments