#!/usr/bin/env bash
# Yerel: migration betiğini Railway Faunamix konteynerine gönderir ve üretim DB'de çalıştırır.
# Önkoşul: railway login, railway link → Faunamix (veya FAUNAMIX_RAILWAY_SERVICE=Faunamix)
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
"$ROOT/scripts/sync-migration-script-to-railway.sh"
SSH=(railway ssh)
if [[ -n "${FAUNAMIX_RAILWAY_SERVICE:-}" ]]; then
  SSH=(railway ssh -s "$FAUNAMIX_RAILWAY_SERVICE")
fi
echo "Migration çalışıyor (çıktı aşağıda; i18n için migration_i18n_unified_columns satırını arayın)…"
"${SSH[@]}" -- bash --noprofile --norc -c '
set -u
FAUNAMIX_MIGRATE_FROM_ENV=1 FAUNAMIX_SKIP_SCHEMA_SQL=1 /app/scripts/run-database-migrations.sh 2>&1 | tee /tmp/faunamix-migrate.log
_e=${PIPESTATUS[0]}
echo "EXIT:${_e}"
if ! grep -q "migration_i18n_unified_columns.sql" /tmp/faunamix-migrate.log 2>/dev/null; then
  echo "UYARI: migration_i18n_unified_columns.sql logda yok — imajda /app/database eksik olabilir; Railway redeploy sonra tekrar çalıştırın."
fi
if ! test -f /app/database/migration_i18n_unified_columns.sql; then
  echo "UYARI: /app/database/migration_i18n_unified_columns.sql konteynerde yok — önce GitHub deploy (yeni Docker imajı), sonra bu betik."
fi
if command -v mysql >/dev/null 2>&1; then
  if [ -r /proc/1/environ ]; then
    while IFS= read -r -d "" _line; do
      _k="${_line%%=*}"; _v="${_line#*=}"
      case "$_k" in
        DB_NAME|MYSQL_DATABASE) export DB_NAME="${DB_NAME:-$_v}" ;;
        DB_HOST|MYSQL_HOST) export DB_HOST="${DB_HOST:-$_v}" ;;
        DB_USER|MYSQL_USER) export DB_USER="${DB_USER:-$_v}" ;;
        DB_PASS|MYSQL_PASSWORD|MYSQL_ROOT_PASSWORD) [ -z "${DB_PASS:-}" ] && export DB_PASS="$_v" ;;
        DB_PORT|MYSQL_PORT) export DB_PORT="${DB_PORT:-$_v}" ;;
      esac
    done </proc/1/environ
  fi
  DB_NAME="${DB_NAME:-${MYSQL_DATABASE:-railway}}"
  DB_HOST="${DB_HOST:-${MYSQL_HOST:-127.0.0.1}}"
  DB_PORT="${DB_PORT:-${MYSQL_PORT:-3306}}"
  DB_USER="${DB_USER:-${MYSQL_USER:-root}}"
  MYSQL_PWD="${DB_PASS:-}"
  export MYSQL_PWD
  _cnt="$(mysql -h"$DB_HOST" -P"$DB_PORT" -u"$DB_USER" --protocol=TCP -N -e \
    "SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='"'"${DB_NAME}"'"'" AND TABLE_NAME='"'"nav_menu_items"'"'" AND COLUMN_NAME='"'"title_en"'"';" 2>/dev/null || echo 0)"
  echo "Doğrulama: ${DB_NAME}.nav_menu_items.title_en sütunu → $([ "${_cnt:-0}" = "1" ] && echo VAR || echo YOK)"
fi
exit "${_e}"
'
