#!/bin/sh
# ============================================================
#  工人檔案欄位重組（23 欄位版）+ 新增 大陸身份證 / 在職狀態
#  適用：154.94.239.207 (BT Panel)
#  請以 root 執行（寶塔面板「終端機」內貼上）
# ============================================================
set -e

PROJ=/www/wwwroot/faithfulness
BASE=/home/wing/wkr_tmp

echo "=== [1/6] 備份資料庫 ==="
export MYSQL_PWD=$(grep '^DB_PASSWORD=' $PROJ/.env | cut -d= -f2)
DB_USER=$(grep '^DB_USERNAME=' $PROJ/.env | cut -d= -f2)
DB_NAME=$(grep '^DB_DATABASE=' $PROJ/.env | cut -d= -f2)
mkdir -p $BASE/backup
/www/server/mysql/bin/mysqldump -h 127.0.0.1 -u "$DB_USER" --single-transaction "$DB_NAME" > $BASE/backup/db_before_fields23_$(date +%Y%m%d).sql 2>/dev/null || true
ls -la $BASE/backup/db_before_fields23_*.sql 2>/dev/null | tail -1
echo "備份完成"

echo "=== [2/6] 解壓新檔 ==="
mkdir -p $BASE/extract_f23
tar -xzf $BASE/wkr_fields23.tar.gz -C $BASE/extract_f23
echo "解壓完成"

echo "=== [3/6] 備份舊檔 ==="
mkdir -p $BASE/backup/files_f23
for f in app/Models/Worker.php app/Http/Requests/WorkerRequest.php app/Http/Controllers/WorkerController.php resources/views/workers_create.blade.php resources/views/workers_edit.blade.php resources/views/workers_show.blade.php resources/views/workers.blade.php; do
  mkdir -p $BASE/backup/files_f23/$(dirname $f)
  cp -a $PROJ/$f $BASE/backup/files_f23/$f
done
echo "完成"

echo "=== [4/6] 複製新檔 ==="
cp -a $BASE/extract_f23/app/Models/Worker.php $PROJ/app/Models/
cp -a $BASE/extract_f23/app/Http/Requests/WorkerRequest.php $PROJ/app/Http/Requests/
cp -a $BASE/extract_f23/app/Http/Controllers/WorkerController.php $PROJ/app/Http/Controllers/
cp -a $BASE/extract_f23/database/migrations/2026_09_06_000001_add_mainland_id_and_employment_status_to_workers.php $PROJ/database/migrations/
cp -a $BASE/extract_f23/resources/views/workers_create.blade.php $PROJ/resources/views/
cp -a $BASE/extract_f23/resources/views/workers_edit.blade.php $PROJ/resources/views/
cp -a $BASE/extract_f23/resources/views/workers_show.blade.php $PROJ/resources/views/
cp -a $BASE/extract_f23/resources/views/workers.blade.php $PROJ/resources/views/
echo "完成"

echo "=== [5/6] 權限 + migration + 清快取 ==="
chown -R www:www $PROJ/app $PROJ/database $PROJ/resources
cd $PROJ
sudo -u www /usr/bin/php artisan migrate --force
sudo -u www /usr/bin/php artisan optimize:clear 2>&1 | tail -1

echo "=== [6/6] 驗證 ==="
sudo -u www /usr/bin/php artisan migrate:status 2>/dev/null | tail -2
sudo -u www /usr/bin/php artisan tinker --execute="echo 'mainland_id: '.(Illuminate\Support\Facades\Schema::hasColumn('workers','mainland_id')?'OK':'MISSING').PHP_EOL; echo 'employment_status: '.(Illuminate\Support\Facades\Schema::hasColumn('workers','employment_status')?'OK':'MISSING').PHP_EOL; echo 'workers: '.App\Models\Worker::count().PHP_EOL;" 2>/dev/null | tail -3
echo "=== 全部完成 ==="
