almost finish migrate new circumstances
This commit is contained in:
141
MIGRATION_LOCATION2025_README.md
Normal file
141
MIGRATION_LOCATION2025_README.md
Normal file
@ -0,0 +1,141 @@
|
||||
# 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の導入により、ロゲイニングシステムがより使いやすく、拡張性の高いシステムへと進化しました。
|
||||
Reference in New Issue
Block a user