fix: deploy.sh migrate works without .env.docker on production
Some checks failed
Deploy to Production / Build and Deploy (push) Failing after 1m59s
Some checks failed
Deploy to Production / Build and Deploy (push) Failing after 1m59s
This commit is contained in:
17
deploy.sh
17
deploy.sh
@@ -66,9 +66,21 @@ warn() { echo -e "${YELLOW}[WARN]${NC} $*"; }
|
||||
error() { echo -e "${RED}[ERROR]${NC} $*" >&2; }
|
||||
header() { echo ""; echo -e "${BOLD}${CYAN}========================================${NC}"; echo -e "${BOLD}${CYAN} $*${NC}"; echo -e "${BOLD}${CYAN}========================================${NC}"; }
|
||||
|
||||
# ---- Auto-detect env file if not overridden by --env ----
|
||||
# Prefer .env.docker (local dev), fall back to .env (production)
|
||||
if [ ! -f "$ENV_FILE" ]; then
|
||||
if [ -f ".env" ]; then
|
||||
ENV_FILE=".env"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Run docker compose with the right file and env
|
||||
dc() {
|
||||
docker compose -f "$COMPOSE_FILE" --env-file "$ENV_FILE" "$@"
|
||||
if [ -f "$ENV_FILE" ]; then
|
||||
docker compose -f "$COMPOSE_FILE" --env-file "$ENV_FILE" "$@"
|
||||
else
|
||||
docker compose -f "$COMPOSE_FILE" "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
# ---- Parse Arguments ----
|
||||
@@ -401,7 +413,8 @@ cmd_shell() {
|
||||
cmd_migrate() {
|
||||
header "Running Database Migrations"
|
||||
info "Running alembic upgrade head..."
|
||||
dc exec backend alembic upgrade head
|
||||
# Run directly inside the backend container — no env file needed
|
||||
docker compose -f "$COMPOSE_FILE" exec backend alembic upgrade head
|
||||
success "Migrations complete"
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user