94 lines
3.0 KiB
Bash
94 lines
3.0 KiB
Bash
|
|
#!/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"
|