From aa3faaa7e484a9b5983d0fc7e213f4cfd58fd36d Mon Sep 17 00:00:00 2001 From: fullsizemalt <106900403+fullsizemalt@users.noreply.github.com> Date: Sun, 21 Dec 2025 03:46:11 -0800 Subject: [PATCH] feat: Add CI/CD migration runner to backend startup --- backend/Dockerfile | 6 +++++- backend/{ => migrations}/add_link_columns.py | 0 .../{ => migrations}/add_parent_id_column.py | 0 backend/{ => migrations}/add_reaction_table.py | 0 backend/start.sh | 17 +++++++++++++++++ 5 files changed, 22 insertions(+), 1 deletion(-) rename backend/{ => migrations}/add_link_columns.py (100%) rename backend/{ => migrations}/add_parent_id_column.py (100%) rename backend/{ => migrations}/add_reaction_table.py (100%) create mode 100644 backend/start.sh diff --git a/backend/Dockerfile b/backend/Dockerfile index 628cc31..db03656 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -7,4 +7,8 @@ RUN pip install --no-cache-dir -r requirements.txt COPY . . -CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"] +# Make startup script executable +RUN chmod +x start.sh + +# Run migrations then start server +CMD ["./start.sh"] diff --git a/backend/add_link_columns.py b/backend/migrations/add_link_columns.py similarity index 100% rename from backend/add_link_columns.py rename to backend/migrations/add_link_columns.py diff --git a/backend/add_parent_id_column.py b/backend/migrations/add_parent_id_column.py similarity index 100% rename from backend/add_parent_id_column.py rename to backend/migrations/add_parent_id_column.py diff --git a/backend/add_reaction_table.py b/backend/migrations/add_reaction_table.py similarity index 100% rename from backend/add_reaction_table.py rename to backend/migrations/add_reaction_table.py diff --git a/backend/start.sh b/backend/start.sh new file mode 100644 index 0000000..c46756e --- /dev/null +++ b/backend/start.sh @@ -0,0 +1,17 @@ +#!/bin/bash +set -e + +echo "🔄 Running database migrations..." + +# Run any migration scripts that exist +for script in /app/migrations/*.py; do + if [ -f "$script" ]; then + echo " Running: $(basename $script)" + python "$script" || echo " ⚠️ Migration $script failed (may already be applied)" + fi +done + +echo "✅ Migrations complete. Starting server..." + +# Start the main application +exec uvicorn main:app --host 0.0.0.0 --port 8000