#!/usr/bin/env bash # # SQLite Timestamp Migration # # Converts legacy naive timestamps: # # 2026-05-29 08:15:00 # # into timezone-aware ISO-8601 timestamps: # # 2026-05-29T08:15:00-04:00 # # Existing timezone-aware timestamps are preserved. # set -euo pipefail DATABASE="${1:-database/timeclock.db}" # # Timezone offset to apply to old naive timestamps. # # Examples: # -04:00 Eastern Daylight Time # -05:00 Eastern Standard Time # +00:00 UTC # DEFAULT_OFFSET="-04:00" echo "=========================================" echo "Timeclock Timestamp Migration" echo "=========================================" echo echo "Database: ${DATABASE}" echo "Assumed legacy offset: ${DEFAULT_OFFSET}" echo if [ ! -f "${DATABASE}" ]; then echo "ERROR: Database not found" exit 1 fi BACKUP="${DATABASE}.backup.$(date +%Y%m%d%H%M%S)" echo "Creating backup:" echo " ${BACKUP}" cp "${DATABASE}" "${BACKUP}" echo echo "Beginning migration..." echo sqlite3 "${DATABASE}" <