#!/usr/bin/env bash set -euo pipefail LOG_DIR="${USER_PROGRAM_IMPORT_LOG_DIR:-/app/log}" UPDATE_DIR="${USER_PROGRAM_UPDATE_DIR:-/app/update_data}" SCHEMA="${USER_PROGRAM_INFO_SCHEMA:-public}" CSV_DIR="${USER_PROGRAM_INFO_CSV_DIR:-/app/initial_data}" MYSQL_HOST="${USER_PROGRAM_INFO_HOST:?USER_PROGRAM_INFO_HOST is required}" MYSQL_PORT="${USER_PROGRAM_INFO_PORT:-3306}" MYSQL_USER="${USER_PROGRAM_INFO_USERNAME:?USER_PROGRAM_INFO_USERNAME is required}" MYSQL_PASS="${USER_PROGRAM_INFO_PASSWORD:?USER_PROGRAM_INFO_PASSWORD is required}" MYSQL_DB="${USER_PROGRAM_INFO_DB:-user_program_info}" MYSQL_TABLE="${USER_PROGRAM_INFO_TABLE:-user_program_info}" mkdir -p "${LOG_DIR}" "${UPDATE_DIR}" # Target date: yesterday in KST unless USER_PROGRAM_TARGET_DATE=YYYY-MM-DD is provided. TARGET_DATE="${USER_PROGRAM_TARGET_DATE:-$(TZ=Asia/Seoul date -d 'yesterday' +%Y-%m-%d)}" TARGET_DATE_COMPACT="${TARGET_DATE//-/}" OUT_FILE="${UPDATE_DIR}/user_program_info_${TARGET_DATE_COMPACT}.csv" TMP_FILE="${OUT_FILE}.tmp" QUERY=$(cat <