Skip to content

Commit 5663fa9

Browse files
committed
feat: pg_dumpall variant
1 parent 61ed1f0 commit 5663fa9

File tree

1 file changed

+26
-16
lines changed

1 file changed

+26
-16
lines changed

nix/tools/migrate-tool.sh.in

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -145,21 +145,31 @@ EOF
145145
exit 0
146146
fi
147147

148-
# if [ "$UPGRADE_METHOD" == "pg_dumpall" ]; then
149-
# SQLDAT="$DATDIR/dump.sql"
150-
# echo "Exporting data via pg_dumpall ($SQLDAT)"
151-
# $NEWVER/bin/pg_dumpall -h localhost > "$SQLDAT"
152-
153-
# echo "Stopping old server (v${1}) to prepare for migration"
154-
# $OLDVER/bin/pg_ctl stop -D "$DATDIR"
155-
156-
# echo "Starting second server (v${2}) to load data into the system"
157-
# $NEWVER/bin/pg_ctl start -D "$NEWDAT"
148+
if [ "$UPGRADE_METHOD" == "pg_dumpall" ]; then
149+
SQLDAT="$DATDIR/dump.sql"
150+
echo "Exporting data via pg_dumpall ($SQLDAT)"
151+
$OLDVER/bin/pg_dumpall -h localhost -U supabase_admin -p 5432 > "$SQLDAT"
152+
153+
echo "Stopping old server (v${1}) to prepare for migration"
154+
$OLDVER/bin/pg_ctl stop -D "$DATDIR"
155+
156+
echo "Starting second server (v${2}) to load data into the system"
157+
$NEWVER/bin/pg_ctl start -D "$NEWDAT"
158+
159+
echo "Creating supabase_admin role and granting necessary permissions"
160+
$NEWVER/bin/psql -h localhost -U "$PGUSER" -d postgres -p 5432 <<EOF
161+
CREATE ROLE supabase_admin WITH LOGIN SUPERUSER CREATEDB CREATEROLE REPLICATION;
162+
ALTER ROLE supabase_admin WITH PASSWORD '$PGPASSWORD';
163+
GRANT ALL PRIVILEGES ON DATABASE postgres TO supabase_admin;
164+
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO supabase_admin;
165+
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO supabase_admin;
166+
GRANT ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA public TO supabase_admin;
167+
EOF
158168

159-
# echo "Loading data into new server (v${2}) via 'cat | psql'"
160-
# cat "$SQLDAT" | $NEWVER/bin/psql -h localhost -d postgres
169+
echo "Loading data into new server (v${2}) via 'cat | psql'"
170+
cat "$SQLDAT" | $NEWVER/bin/psql -h localhost -U supabase_admin -d postgres -p 5432
161171

162-
# printf "\n\n\n\n"
163-
# echo "Done, check logs. Stopping the server; new database is located at $NEWDAT"
164-
# $NEWVER/bin/pg_ctl stop -D "$NEWDAT"
165-
# fi
172+
printf "\n\n\n\n"
173+
echo "Done, check logs. Stopping the server; new database is located at $NEWDAT"
174+
$NEWVER/bin/pg_ctl stop -D "$NEWDAT"
175+
fi

0 commit comments

Comments
 (0)