update.sh 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #!/usr/bin/env bash
  2. set -e
  3. ENDPOINT="https://sirekanian.github.io/warmongr"
  4. SCHEMAS="app/schemas/com.sirekanian.acf.data.local.Database"
  5. SCHEMA=$(find "$SCHEMAS" -name "*.json" | sort -V | tail -1)
  6. # transform meta.json to csv
  7. wget -qO- "$ENDPOINT/meta.json" |
  8. jq -r 'to_entries[] | [.key, .value] | @csv' \
  9. >"app/schemas/MetaEntity.csv"
  10. # transform data.json to csv
  11. wget --header="Accept-Encoding: gzip" -qO- "$ENDPOINT/data.json" | gunzip |
  12. jq -r 'map([.["0"],.["1"],.["4"]])[] | @csv' \
  13. >"app/schemas/WarmongerEntity.csv"
  14. # copy setupQueries from schema
  15. jq -r ".database.setupQueries[]" "$SCHEMA" |
  16. sed 's/$/;/' \
  17. >app/schemas/init.sql
  18. for TABLE in MetaEntity WarmongerEntity; do
  19. # copy createSql from schema
  20. jq -r ".database.entities[] | select(.tableName==\"$TABLE\") | .createSql" "$SCHEMA" |
  21. sed "s/\${TABLE_NAME}/$TABLE/" |
  22. sed 's/$/;/' \
  23. >>app/schemas/init.sql
  24. # generate import csv command
  25. echo ".import --csv app/schemas/$TABLE.csv $TABLE" \
  26. >>app/schemas/init.sql
  27. done
  28. # recreate pre-packaged database
  29. rm -f app/src/main/assets/warmongers.db
  30. sqlite3 app/src/main/assets/warmongers.db <app/schemas/init.sql