export APP_ENTRYPOINT_VERSION=v5 migrate() { export DATABASE_PASSWORD=$(cat /run/secrets/db_password) export DATABASE_URL="postgres://outline:${DATABASE_PASSWORD}@${STACK_NAME}_db:5432/outline" yarn db:migrate --env=production-ssl-disabled } delete_user() { if [ -z "$1" ] || [ -z "$2" ]; then echo "Usage: ... delete_user " exit 1 fi USERID_REMOVE=$(echo "SELECT id FROM users WHERE username = '$1'" | psql -t -A -U outline outline) USERID_REPLACE=$(echo "SELECT id FROM users WHERE username = '$2'" | psql -t -A -U outline outline) if [ -z "$USERID_REMOVE" ]; then echo "Can't find ID of '$1'" exit 1 fi if [ -z "$USERID_REPLACE" ]; then echo "Can't find ID of '$2'" exit 1 fi psql -U outline outline <<- SQL UPDATE documents SET "userId" = '$USERID_REPLACE' WHERE "userId" = '$USERID_REMOVE'; UPDATE groups SET "createdById" = '$USERID_REPLACE' WHERE "createdById" = '$USERID_REMOVE'; UPDATE pins SET "createdById" = '$USERID_REPLACE' WHERE "createdById" = '$USERID_REMOVE'; UPDATE group_users SET "createdById" = '$USERID_REPLACE' WHERE "createdById" = '$USERID_REMOVE'; UPDATE collections SET "createdById" = '$USERID_REPLACE' WHERE "createdById" = '$USERID_REMOVE'; UPDATE collection_users SET "createdById" = '$USERID_REPLACE' WHERE "createdById" = '$USERID_REMOVE'; UPDATE documents SET "lastModifiedById" = '$USERID_REPLACE' WHERE "lastModifiedById" = '$USERID_REMOVE'; UPDATE documents SET "createdById" = '$USERID_REPLACE' WHERE "createdById" = '$USERID_REMOVE'; UPDATE revisions SET "userId" = '$USERID_REPLACE' WHERE "userId" = '$USERID_REMOVE'; UPDATE attachments SET "userId" = '$USERID_REPLACE' WHERE "userId" = '$USERID_REMOVE'; DELETE FROM search_queries WHERE "userId" = '$USERID_REMOVE'; DELETE FROM shares WHERE "userId" = '$USERID_REMOVE'; DELETE FROM notification_settings WHERE "userId" = '$USERID_REMOVE'; DELETE FROM events WHERE "actorId" = '$USERID_REMOVE'; DELETE FROM events WHERE "userId" = '$USERID_REMOVE'; DELETE FROM users WHERE username = '$1'; SQL }