Files
rogaining_srv/complete_migration_reset.py
2025-08-29 09:11:20 +09:00

84 lines
3.0 KiB
Python

#!/usr/bin/env python
"""
チーム・エントリーデータ完全リセット&再移行スクリプト
既存のTeam/Entryデータをクリアして、old_rogdbから完全に移行し直す
"""
import os
import sys
import django
if __name__ == '__main__':
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings')
django.setup()
from rog.models import Team, Entry, Member
from django.db import transaction
import subprocess
print("=== チーム・エントリーデータ完全リセット&再移行 ===")
try:
with transaction.atomic():
print("1. 既存データをクリア中...")
# 関連データを順番にクリア
entry_count = Entry.objects.count()
member_count = Member.objects.count()
team_count = Team.objects.count()
print(f" 削除対象: Entry({entry_count}件), Member({member_count}件), Team({team_count}件)")
Entry.objects.all().delete()
Member.objects.all().delete()
Team.objects.all().delete()
print(" ✅ 既存データクリア完了")
print("\\n2. チームデータ移行を実行中...")
result = subprocess.run([
'python', 'migrate_rog_team_enhanced.py'
], capture_output=True, text=True)
if result.returncode == 0:
print(" ✅ チーム移行完了")
else:
print(f" ❌ チーム移行エラー: {result.stderr}")
print("\\n3. エントリーデータ移行を実行中...")
result = subprocess.run([
'python', 'migrate_rog_entry_enhanced.py'
], capture_output=True, text=True)
if result.returncode == 0:
print(" ✅ エントリー移行完了")
else:
print(f" ❌ エントリー移行エラー: {result.stderr}")
print("\\n4. 移行結果確認...")
from rog.models import NewEvent2
team_count = Team.objects.count()
entry_count = Entry.objects.count()
print(f" Team: {team_count}")
print(f" Entry: {entry_count}")
# FC岐阜イベントのエントリー確認
fc_event = NewEvent2.objects.filter(event_name__icontains='FC岐阜').first()
if fc_event:
fc_entries = Entry.objects.filter(event=fc_event)
print(f" FC岐阜イベントエントリー: {fc_entries.count()}")
if fc_entries.exists():
print(" ✅ ゼッケン番号表示問題が解決されました!")
for entry in fc_entries[:3]:
print(f" ゼッケン{entry.zekken_number}: {entry.team.team_name}")
else:
print(" ⚠️ FC岐阜にエントリーがありません")
except Exception as e:
print(f"❌ エラーが発生しました: {e}")
import traceback
traceback.print_exc()