From a2064b440dc05160e13d43806c7bd9b0d3dc2c3d Mon Sep 17 00:00:00 2001 From: Imbus <> Date: Wed, 6 Mar 2024 08:22:58 +0100 Subject: [PATCH] Justfile targets for db-backup, db-restore, pgshell and re-migrate for debugging --- justfile | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/justfile b/justfile index 15b3357..aa6b484 100644 --- a/justfile +++ b/justfile @@ -55,6 +55,24 @@ start-postgres-dev: create-network podman rm -f {{pg_container}} podman run --network {{network}} --name {{pg_container}} -e POSTGRES_PASSWORD={{pg_pass}} -d -p {{pg_port}}:5432 docker.io/postgres:16.1-alpine +pgshell: + podman exec -it {{pg_container}} psql -U {{pg_user}} -d {{db_name}} + +re-migrate: + echo {{env_local}} > server/.env + cd server && cargo sqlx database drop -y + cd server && cargo sqlx database create + cd server && cargo sqlx migrate run + @echo "Database re-initialized and migrations re-run." + +db-backup: + podman exec -t {{pg_container}} pg_dump -U {{pg_user}} -d {{db_name}} | gzip > frostbyte_backup$(date +'%Y-%m-%d_%H:%M:%S').sql.gz + +# Drops the database and restores it from a backup file +db-restore backupfile: db-backup + podman exec -i {{pg_container}} psql -U {{pg_user}} -d {{db_name}} -c "DROP SCHEMA public CASCADE; CREATE SCHEMA public;" + gunzip -c {{backupfile}} | podman exec -i {{pg_container}} psql -U {{pg_user}} -d {{db_name}} + [private] create-network: podman network create {{network}} --ignore