79 lines
2.0 KiB
Bash
79 lines
2.0 KiB
Bash
#!/bin/bash
|
|
# Database Migration Runner for b0esche.cloud
|
|
# Runs all SQL migrations in order
|
|
|
|
set -e
|
|
|
|
# Check for required environment variable
|
|
if [ -z "$DATABASE_URL" ]; then
|
|
echo "ERROR: DATABASE_URL environment variable not set"
|
|
echo "Example: DATABASE_URL=postgres://user:pass@localhost:5432/dbname"
|
|
exit 1
|
|
fi
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
|
|
echo "=== b0esche.cloud Database Migrations ==="
|
|
echo "Database: $DATABASE_URL"
|
|
echo
|
|
|
|
# Function to run a single migration
|
|
run_migration() {
|
|
local file=$1
|
|
echo "Running: $(basename $file)"
|
|
psql "$DATABASE_URL" -f "$file" -v ON_ERROR_STOP=1
|
|
if [ $? -eq 0 ]; then
|
|
echo "✓ Success"
|
|
else
|
|
echo "✗ Failed"
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
# Run migrations in order
|
|
echo "Step 1/11: Initial schema..."
|
|
run_migration "$SCRIPT_DIR/0001_initial.sql"
|
|
|
|
echo
|
|
echo "Step 2/11: Passkeys and authentication..."
|
|
run_migration "$SCRIPT_DIR/0002_passkeys.sql"
|
|
|
|
echo
|
|
echo "Step 3/11: Files and storage..."
|
|
run_migration "$SCRIPT_DIR/0003_files.sql"
|
|
|
|
echo
|
|
echo "Step 4/11: Organization ownership and slug scope..."
|
|
run_migration "$SCRIPT_DIR/0004_org_owner_slug.sql"
|
|
|
|
echo
|
|
echo "Step 5/11: Organization invitations and join requests..."
|
|
run_migration "$SCRIPT_DIR/0005_org_invitations.sql"
|
|
|
|
echo
|
|
echo "Step 6/11: Organization invite links..."
|
|
run_migration "$SCRIPT_DIR/0006_org_invite_link.sql"
|
|
|
|
echo
|
|
echo "Step 7/11: File share links..."
|
|
run_migration "$SCRIPT_DIR/0007_file_share_links.sql"
|
|
|
|
echo
|
|
echo "Step 8/11: File share links nullable org..."
|
|
run_migration "$SCRIPT_DIR/0008_file_share_links_nullable_org.sql"
|
|
|
|
echo
|
|
echo "Step 9/11: File share links org id nullable..."
|
|
run_migration "$SCRIPT_DIR/0009_file_share_links_org_id_nullable.sql"
|
|
|
|
echo
|
|
echo "Step 10/11: Add avatar URL to users..."
|
|
run_migration "$SCRIPT_DIR/0010_add_avatar_url.sql"
|
|
|
|
echo
|
|
echo "Step 11/11: Add updated_at to users..."
|
|
run_migration "$SCRIPT_DIR/0011_add_updated_at.sql"
|
|
|
|
echo
|
|
echo "=== All migrations completed successfully! ==="
|