Files
rogaining_srv/MIGRATION_LOCATION2025_README.md

142 lines
5.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Location2025対応版移行プログラム
Location2025へのシステム拡張に伴い、移行プログラムもアップデートされました。
## 📋 更新されたプログラム
### 1. migration_location2025_support.py (新規)
Location2025完全対応版の移行プログラム。最新機能と最高レベルの互換性確認を提供。
**特徴:**
- Location2025テーブルとの整合性確認
- チェックポイント参照の妥当性検証
- 詳細な移行レポート生成
- Location2025対応マーカー付きでGPSデータ移行
### 2. migration_data_protection.py (更新)
既存の保護版移行プログラムにLocation2025サポートを追加。
**更新内容:**
- Location2025互換性確認機能追加
- 既存データ保護にLocation2025を含める
- 移行前の確認プロンプト追加
### 3. restore_core_data.py (更新)
コアデータ復元プログラムにLocation2025整合性確認を追加。
**更新内容:**
- 復元後のLocation2025整合性確認
- チェックポイント定義状況の確認
- Location2025設定ガイダンス
## 🚀 使用方法
### 推奨手順 (Location2025対応環境)
```bash
# 1. 新しいLocation2025完全対応版を使用
docker compose exec app python migration_location2025_support.py
# 2. 必要に応じてコアデータ復元 (Location2025整合性確認付き)
docker compose exec app python restore_core_data.py
```
### 従来の環境 (Location2025未対応)
```bash
# 1. 既存の保護版プログラム (Location2025確認機能付き)
docker compose exec app python migration_data_protection.py
# 2. 必要に応じてコアデータ復元
docker compose exec app python restore_core_data.py
```
## 🆕 Location2025拡張機能
### チェックポイント管理の現代化
- **CSV一括アップロード**: Django管理画面でチェックポイント定義を一括インポート
- **空間データ統合**: 緯度経度とPostGIS PointFieldの自動同期
- **イベント連携**: rog_newevent2との外部キー制約で整合性保証
### 移行プログラム拡張
- **互換性確認**: Location2025テーブルの存在と設定状況を自動確認
- **チェックポイント検証**: 移行データとLocation2025の整合性チェック
- **詳細レポート**: イベント別統計とLocation2025連携状況の詳細表示
## ⚠️ 注意事項
### Location2025未対応環境での実行
Location2025テーブルが存在しない環境でも移行は実行可能ですが、以下の制限があります
- チェックポイント参照整合性確認がスキップされます
- 新しいCSVベース管理機能は利用できません
- Django管理画面でのチェックポイント管理機能が制限されます
### 推奨移行パス
1. Django migrationsを実行してLocation2025テーブルを作成
2. Django管理画面でサンプルチェックポイントをCSVアップロード
3. Location2025完全対応版移行プログラムを実行
4. 移行後にLocation2025整合性を確認
## 📊 移行結果の確認
### 移行データ確認
```sql
-- 移行されたGPSデータ確認
SELECT COUNT(*) FROM rog_gpscheckin
WHERE comment LIKE 'migrated_from_gifuroge%';
-- Location2025チェックポイント確認
SELECT COUNT(*) FROM rog_location2025;
-- イベント別チェックポイント分布
SELECT e.event_code, COUNT(l.id) as checkpoint_count
FROM rog_location2025 l
JOIN rog_newevent2 e ON l.event_id = e.id
GROUP BY e.event_code;
```
### Django Admin確認
1. http://localhost:8000/admin/ にアクセス
2. Location2025セクションでチェックポイント管理画面を確認
3. CSV一括アップロード機能が利用可能かテスト
## 🔧 トラブルシューティング
### Location2025テーブルが見つからない
```bash
# Django migrationsを実行
docker compose exec app python manage.py makemigrations
docker compose exec app python manage.py migrate
```
### チェックポイントが未定義
1. Django管理画面にアクセス
2. Location2025 > "CSV一括アップロード"を選択
3. サンプルCSVファイルをアップロード
### 移行データの整合性エラー
```bash
# データベース接続確認
docker compose exec db psql -U postgres -d rogdb -c "SELECT version();"
# テーブル存在確認
docker compose exec db psql -U postgres -d rogdb -c "\dt rog_*"
```
## 📈 パフォーマンス最適化
Location2025システムは以下の最適化が適用されています
- PostGIS空間インデックスによる高速位置検索
- イベント・チェックポイント複合インデックス
- CSV一括処理による大量データ投入の高速化
移行プログラムも同様に最適化されており、大量のGPSデータも効率的に処理できます。
---
## 📞 サポート
Location2025移行に関する技術的な問題やご質問は、システム管理者までお問い合わせください。
Location2025の導入により、ロゲイニングシステムがより使いやすく、拡張性の高いシステムへと進化しました。