#!/bin/bash # イベントユーザー登録実行スクリプト # # 使用方法: # ./run_event_registration.sh [EVENT_CODE] [OPTIONS] # # 例: # ./run_event_registration.sh 大垣2509 # ./run_event_registration.sh 大垣2509 --dry-run # ./run_event_registration.sh 大垣2509 --csv-file CPLIST/input/custom_teams.csv set -e # デフォルト値 EVENT_CODE=${1:-"大垣2509"} CSV_FILE="CPLIST/input/team2025.csv" BASE_URL="http://localhost:8000" DRY_RUN="" # コマンドライン引数を解析 shift while [[ $# -gt 0 ]]; do case $1 in --dry-run) DRY_RUN="true" shift ;; --csv-file) CSV_FILE="$2" shift 2 ;; --base-url) BASE_URL="$2" shift 2 ;; --help) echo "使用方法: $0 [EVENT_CODE] [OPTIONS]" echo "" echo "オプション:" echo " --dry-run テスト実行(実際のAPI呼び出しなし)" echo " --csv-file FILE CSVファイルパス(デフォルト: CPLIST/input/team2025.csv)" echo " --base-url URL APIベースURL(デフォルト: http://localhost:8000)" echo " --help このヘルプを表示" echo "" echo "例:" echo " $0 大垣2509" echo " $0 大垣2509 --dry-run" echo " $0 大垣2509 --csv-file CPLIST/input/custom_teams.csv" exit 0 ;; *) echo "不明なオプション: $1" echo "ヘルプを表示するには --help を使用してください" exit 1 ;; esac done echo "=== イベントユーザー登録処理 ===" echo "イベントコード: $EVENT_CODE" echo "CSVファイル: $CSV_FILE" echo "APIベースURL: $BASE_URL" echo "テスト実行: ${DRY_RUN:-false}" echo "================================" # CSVファイルの存在確認 if [ ! -f "$CSV_FILE" ]; then echo "エラー: CSVファイルが見つかりません: $CSV_FILE" exit 1 fi # Docker Composeファイルの存在確認 if [ ! -f "docker-compose.event-registration.yml" ]; then echo "エラー: docker-compose.event-registration.yml が見つかりません" exit 1 fi # ログディレクトリを作成 mkdir -p logs # 環境変数を設定してDocker Composeを実行 export EVENT_CODE="$EVENT_CODE" export CSV_FILE="$CSV_FILE" export BASE_URL="$BASE_URL" export DRY_RUN="$DRY_RUN" echo "Docker Composeでイベントユーザー登録処理を開始します..." # Docker Composeを実行 docker-compose -f docker-compose.event-registration.yml up --build --remove-orphans echo "" echo "=== 処理完了 ===" echo "ログファイルを確認してください: logs/register_event_users.log"