149 lines
4.3 KiB
Markdown
149 lines
4.3 KiB
Markdown
# 移行結果統計情報表示スクリプト
|
||
|
||
## 概要
|
||
|
||
移行処理の結果を詳細な統計情報として表示するスクリプトです。Docker Compose環境で実行可能で、移行データの品質チェックや分析に役立ちます。
|
||
|
||
## 実行方法
|
||
|
||
### 1. Docker Composeで実行
|
||
|
||
```bash
|
||
# 統計情報を表示
|
||
docker compose exec app python migration_statistics.py
|
||
|
||
# または Makeタスクを使用
|
||
make migration-stats
|
||
```
|
||
|
||
### 2. 他の移行関連コマンド
|
||
|
||
```bash
|
||
# 移行実行
|
||
make migration-run
|
||
|
||
# Location2025移行
|
||
make migration-location2025
|
||
|
||
# データ保護移行
|
||
make migration-data-protection
|
||
|
||
# データベースシェル
|
||
make db-shell
|
||
|
||
# アプリケーションログ確認
|
||
make app-logs
|
||
```
|
||
|
||
## 表示される統計情報
|
||
|
||
### 📊 基本統計情報
|
||
- 各テーブルのレコード数
|
||
- 全体のデータ量概要
|
||
|
||
### 🎯 イベント別統計
|
||
- 登録イベント一覧
|
||
- イベント別参加チーム数、メンバー数、エントリー数
|
||
|
||
### 📍 GPSチェックイン統計
|
||
- 総チェックイン数、参加チーム数
|
||
- 時間帯別チェックイン分布
|
||
- CP利用ランキング(上位10位)
|
||
|
||
### 👥 チーム統計
|
||
- 総チーム数、クラス数
|
||
- クラス別チーム分布
|
||
- 平均メンバー数
|
||
|
||
### 🔍 データ品質チェック
|
||
- 重複データチェック
|
||
- 異常時刻データチェック
|
||
- データ整合性チェック
|
||
|
||
### 📄 JSON出力
|
||
- 統計情報をJSONファイルで出力
|
||
- 外部システムでの利用や保存に便利
|
||
|
||
## 出力例
|
||
|
||
```
|
||
================================================================================
|
||
📊 移行データ基本統計情報
|
||
================================================================================
|
||
|
||
📋 テーブル別レコード数:
|
||
テーブル名 日本語名 レコード数
|
||
-----------------------------------------------------------------
|
||
rog_newevent2 イベント 12件
|
||
rog_team チーム 450件
|
||
rog_member メンバー 1,200件
|
||
rog_entry エントリー 450件
|
||
rog_gpscheckin GPSチェックイン 8,500件
|
||
rog_checkpoint チェックポイント 800件
|
||
rog_location2025 ロケーション2025 50件
|
||
rog_customuser ユーザー 25件
|
||
-----------------------------------------------------------------
|
||
合計 11,487件
|
||
|
||
================================================================================
|
||
🎯 イベント別統計情報
|
||
================================================================================
|
||
|
||
📅 登録イベント数: 12件
|
||
|
||
イベント詳細:
|
||
ID イベント名 開催日 登録日時
|
||
------------------------------------------------------------
|
||
1 美濃加茂 2024-05-19 2024-08-25 10:30
|
||
2 岐阜市 2024-04-28 2024-08-25 10:30
|
||
3 大垣2 2024-04-20 2024-08-25 10:30
|
||
...
|
||
```
|
||
|
||
## トラブルシューティング
|
||
|
||
### データベース接続エラー
|
||
```bash
|
||
# コンテナの状態確認
|
||
docker compose ps
|
||
|
||
# PostgreSQLログ確認
|
||
make db-logs
|
||
|
||
# アプリケーションログ確認
|
||
make app-logs
|
||
```
|
||
|
||
### 環境変数の確認
|
||
```bash
|
||
# 環境変数が正しく設定されているか確認
|
||
docker compose exec app env | grep POSTGRES
|
||
```
|
||
|
||
### 手動でのデータベース接続テスト
|
||
```bash
|
||
# PostgreSQLコンテナに直接接続
|
||
docker compose exec postgres-db psql -U admin -d rogdb
|
||
|
||
# テーブル確認
|
||
\dt
|
||
|
||
# 基本的なクエリテスト
|
||
SELECT COUNT(*) FROM rog_gpscheckin;
|
||
```
|
||
|
||
## 関連ファイル
|
||
|
||
- `migration_statistics.py` - 統計表示メインスクリプト
|
||
- `migration_final_simple.py` - GPS記録移行スクリプト
|
||
- `migration_location2025_support.py` - Location2025移行スクリプト
|
||
- `migration_data_protection.py` - データ保護移行スクリプト
|
||
- `Makefile` - 実行用タスク定義
|
||
|
||
## 注意事項
|
||
|
||
- Docker Composeが正常に起動していることを確認してください
|
||
- PostgreSQLコンテナが稼働していることを確認してください
|
||
- 統計情報は実行時点のデータベース状態を反映します
|
||
- JSON出力ファイルは `/app/` ディレクトリに保存されます
|