#!/bin/bash # Old RogDB → RogDB 移行クイックスタート echo "============================================================" echo "Old RogDB → RogDB データ移行クイックスタート" echo "============================================================" # 実行前チェック echo "🔍 実行前チェック..." # Docker Composeサービス確認 if ! docker compose ps | grep -q "Up"; then echo "❌ Docker Composeサービスが起動していません" echo "次のコマンドでサービスを起動してください:" echo "docker compose up -d" exit 1 fi echo "✅ Docker Composeサービス確認完了" # データベース接続確認 echo "🔍 データベース接続確認..." if ! docker compose exec app python -c " import psycopg2 try: conn = psycopg2.connect(host='postgres-db', database='rogdb', user='admin', password='admin123456') print('✅ rogdb接続成功') conn.close() except Exception as e: print(f'❌ rogdb接続エラー: {e}') exit(1) "; then echo "❌ データベース接続に失敗しました" exit 1 fi # メニュー表示 echo "" echo "📋 移行オプションを選択してください:" echo "1) 完全移行(全rog_*テーブル)" echo "2) 安全移行(ユーザー関連テーブル除外)" echo "3) 統計情報のみ表示" echo "4) テーブル一覧のみ表示" echo "5) カスタム移行(除外テーブル指定)" echo "0) キャンセル" echo "" read -p "選択 (0-5): " choice case $choice in 1) echo "🚀 完全移行を開始します..." docker compose exec app python migrate_old_rogdb_to_rogdb.py ;; 2) echo "🛡️ 安全移行を開始します(ユーザー関連テーブル除外)..." docker compose exec -e EXCLUDE_TABLES=rog_customuser,rog_session app python migrate_old_rogdb_to_rogdb.py ;; 3) echo "📊 統計情報を表示します..." make migrate-old-rogdb-stats ;; 4) echo "📋 テーブル一覧を表示します..." make migrate-old-rogdb-dryrun ;; 5) echo "除外するテーブル名をカンマ区切りで入力してください(例: rog_customuser,rog_session):" read -p "除外テーブル: " exclude_tables echo "🔧 カスタム移行を開始します..." docker compose exec -e EXCLUDE_TABLES="$exclude_tables" app python migrate_old_rogdb_to_rogdb.py ;; 0) echo "移行をキャンセルしました" exit 0 ;; *) echo "❌ 無効な選択です" exit 1 ;; esac echo "" echo "============================================================" echo "移行処理が完了しました" echo "============================================================" echo "" echo "📋 移行後の確認方法:" echo " - ログ確認: make app-logs" echo " - DB接続: make db-shell" echo " - 統計再表示: make migrate-old-rogdb-stats" echo "" echo "📖 詳細情報: MIGRATE_OLD_ROGDB_README.md"