tests via script and make test works now
This commit is contained in:
@@ -1,9 +1,39 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# scripts/reset_test_db.sh
|
# scripts/reset_test_db.sh
|
||||||
|
|
||||||
DATABASE_URL=${TEST_DATABASE_URL:-"postgres://multi_psql_dev:3@localhost:5432/multi_rust_test"}
|
# Load environment variables from .env_test if it exists
|
||||||
|
if [ -f .env_test ]; then
|
||||||
|
export $(grep -v '^#' .env_test | xargs)
|
||||||
|
fi
|
||||||
|
|
||||||
echo "Reset db script"
|
DATABASE_URL=${TEST_DATABASE_URL:-"postgres://multi_psql_dev:3@localhost:5432/multi_rust_test"}
|
||||||
yes | sqlx database drop --database-url "$DATABASE_URL"
|
echo "Resetting test DB at $DATABASE_URL"
|
||||||
|
|
||||||
|
# Check if database exists and who owns it
|
||||||
|
DB_NAME=$(echo "$DATABASE_URL" | sed 's|.*/||')
|
||||||
|
DB_HOST=$(echo "$DATABASE_URL" | sed 's|.*@||' | sed 's|:.*||')
|
||||||
|
DB_PORT=$(echo "$DATABASE_URL" | sed 's|.*:||' | sed 's|/.*||')
|
||||||
|
DB_USER=$(echo "$DATABASE_URL" | sed 's|.*://||' | sed 's|:.*||')
|
||||||
|
|
||||||
|
# Check database owner (optional info)
|
||||||
|
DB_OWNER=$(psql "$DATABASE_URL" -t -c "SELECT pg_catalog.pg_get_userbyid(d.datdba) FROM pg_catalog.pg_database d WHERE d.datname = '$DB_NAME';" 2>/dev/null | xargs)
|
||||||
|
if [ ! -z "$DB_OWNER" ]; then
|
||||||
|
echo "Database owner: $DB_OWNER"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Force drop database without confirmation
|
||||||
|
echo "Dropping database..."
|
||||||
|
sqlx database drop --database-url "$DATABASE_URL" --yes 2>/dev/null || {
|
||||||
|
# Fallback: use psql to force drop
|
||||||
|
psql "postgres://$DB_USER@$DB_HOST:$DB_PORT/postgres" -c "DROP DATABASE IF EXISTS \"$DB_NAME\";" 2>/dev/null || true
|
||||||
|
}
|
||||||
|
|
||||||
|
# Create database
|
||||||
|
echo "Creating database..."
|
||||||
sqlx database create --database-url "$DATABASE_URL"
|
sqlx database create --database-url "$DATABASE_URL"
|
||||||
echo "Test database reset complete."
|
|
||||||
|
# Apply migrations
|
||||||
|
echo "Applying migrations..."
|
||||||
|
sqlx migrate run --database-url "$DATABASE_URL"
|
||||||
|
|
||||||
|
echo "✅ Test database reset and migrated."
|
||||||
|
|||||||
Reference in New Issue
Block a user