Initial commit: Clean workspace without heavy binaries

This commit is contained in:
2025-12-19 15:36:54 -03:00
commit c71fae7dbc
51 changed files with 10725 additions and 0 deletions
Executable
+68
View File
@@ -0,0 +1,68 @@
#!/bin/bash
# OpenCCB Database Management Script
# This script handles creation, migrations and sqlx preparation for both microservices.
set -e
# Load environment variables if .env exists
if [ -f .env ]; then
export $(grep -v '^#' .env | xargs)
fi
# Fallback to DATABASE_URL if specific ones aren't set
# Note: For running locally against Docker Postgres, use localhost instead of db
CMS_URL=${CMS_DATABASE_URL:-$(echo $DATABASE_URL | sed 's/@db:/@localhost:/')}
LMS_URL=${LMS_DATABASE_URL:-$(echo $DATABASE_URL | sed 's/@db:/@localhost:/')}
if [ -z "$CMS_URL" ] || [ -z "$LMS_URL" ]; then
echo "Error: CMS_DATABASE_URL or LMS_DATABASE_URL is not set."
echo "Please check your .env file."
exit 1
fi
ACTION=$1
case $ACTION in
"setup")
echo "--- Creating Databases ---"
DATABASE_URL=$CMS_URL sqlx database create
DATABASE_URL=$LMS_URL sqlx database create
echo "Databases created (if they didn't exist)."
$0 migrate
;;
"migrate")
echo "--- Running CMS Migrations ---"
DATABASE_URL=$CMS_URL sqlx migrate run --source services/cms-service/migrations
echo "--- Running LMS Migrations ---"
DATABASE_URL=$LMS_URL sqlx migrate run --source services/lms-service/migrations
echo "All migrations completed successfully."
;;
"prepare")
echo "--- Preparing SQLx queries for CMS ---"
cd services/cms-service && DATABASE_URL=$CMS_URL cargo sqlx prepare -- --all-targets --all-features && cd ../..
echo "--- Preparing SQLx queries for LMS ---"
cd services/lms-service && DATABASE_URL=$LMS_URL cargo sqlx prepare -- --all-targets --all-features && cd ../..
echo "SQLx preparation completed."
;;
"all")
$0 setup
$0 prepare
;;
*)
echo "Usage: $0 {setup|migrate|prepare|all}"
echo " setup: Creates databases and runs migrations"
echo " migrate: Runs database migrations for all services"
echo " prepare: Runs cargo sqlx prepare for offline compilation"
echo " all: Runs setup and prepare"
exit 1
;;
esac