This moves the Go module files to the root of the project and fixes all of the imports.
46 lines
1.3 KiB
Bash
Executable file
46 lines
1.3 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
echo "Welcome to the Hermes migration assistant."
|
|
|
|
if [ ! -f "/tmp/db.json.gz" ]; then
|
|
echo "Exporting database contents..."
|
|
cd /app/legacy
|
|
node out/tools/exportDBContents.js /tmp/db.json.gz
|
|
BACKUP_EXIT_CODE=$?
|
|
|
|
if [ $BACKUP_EXIT_CODE -ne 0 ]; then
|
|
echo "Failed to export database contents!"
|
|
exit 1
|
|
fi
|
|
|
|
echo "!! IMPORTANT !!"
|
|
echo "Database backup contents below:"
|
|
echo "==== BEGIN BACKUP ===="
|
|
cat /tmp/db.json.gz | base64
|
|
echo "==== END BACKUP ===="
|
|
echo "When copying, do NOT copy the BEGIN and END sections."
|
|
fi
|
|
|
|
echo "Wiping old database..."
|
|
cat >> /tmp/wipe.sql << EOF
|
|
CREATE DATABASE temp;
|
|
\c temp
|
|
DROP DATABASE $HERMES_MIGRATE_POSTGRES_DATABASE;
|
|
CREATE DATABASE $HERMES_MIGRATE_POSTGRES_DATABASE;
|
|
\c nextnet
|
|
DROP DATABASE temp;
|
|
EOF
|
|
psql "$HERMES_POSTGRES_DSN" < /tmp/wipe.sql
|
|
rm -rf /tmp/wipe.sql
|
|
echo "Restoring backup..."
|
|
|
|
cd /app/modern
|
|
./hermes -b ./backends.json import --bp /tmp/db.json.gz
|
|
|
|
echo "Restored backup. If this restore fails after the database has wiped, get a shell into the container,"
|
|
echo "copy the backup contents into the container (base64 decoded) at '/tmp/db.json.gz',"
|
|
echo "and rerun /app/entrypoint.sh."
|
|
echo ""
|
|
echo "If further issues continue, open an issue at 'https://git.terah.dev/imterah/hermes/backend'."
|
|
echo "If the migration succeeded, congratulations!"
|
|
|
|
sleep 10000
|