opensource schema.sh

pull/173/head
Aevann 2023-07-28 02:47:56 +03:00
parent dac480fc38
commit ffd1dc9452
1 changed files with 27 additions and 0 deletions

27
scripts/schema.sh 100644
View File

@ -0,0 +1,27 @@
#!/bin/bash
. /e
pg_dump -O -x --schema-only "$DATABASE_URL" > '/d/schema.sql'
OUT_FILE='/d/seed-db.sql'
rm "$OUT_FILE"
pg_dump -O -x --data-only --inserts -t 'badge_defs' "$DATABASE_URL" >> "$OUT_FILE"
pg_dump -O -x --data-only --inserts -t 'hat_defs' "$DATABASE_URL" >> "$OUT_FILE"
sed -i -E "s/(INSERT INTO public.hat_defs VALUES \(.*', )[0-9]{2,}?,/\12,/g" "$OUT_FILE"
sed -i -E "s/INSERT INTO public.hat_defs VALUES \(.*, [0-9]{1,6}, [0-9]{10}\);//g" "$OUT_FILE"
EXPORT_EMOJIS=$(psql --csv --tuples-only -P "null=NULL" -c \
"SELECT ''''||name||'''', ''''||kind||'''', 2, ''''||tags||'''' FROM emojis WHERE submitter_id IS NULL ORDER BY name" \
"$DATABASE_URL")
EXPORT_EMOJIS=$(sed 's/.*/\(&\),/' <<< "$EXPORT_EMOJIS")
echo "INSERT INTO public.emojis (name, kind, author_id, tags) VALUES" >> "$OUT_FILE"
echo "${EXPORT_EMOJIS%?}" >> "$OUT_FILE"
echo "ON CONFLICT (name) DO UPDATE SET tags = EXCLUDED.tags;" >> "$OUT_FILE"
#. /scripts/g