Files
ewoooc/scripts/archive/fix_import_dates.py
ogt 1b4f3a7bbe
Some checks failed
CD Pipeline / deploy (push) Failing after 59s
feat: EwoooC 初始化 — 完整專案推版至 Gitea
- 建立 Gitea Actions CD pipeline (.gitea/workflows/cd.yaml)
- 部署模式: rsync Python 檔案至 188 → docker restart (volume mount)
- Dockerfile/requirements 變動時自動重建 Docker image
- 部署通知: Telegram (開始/成功/失敗)
- 健康檢查: https://mo.wooo.work/health (最多 5 次重試)
- 同步最新 CLAUDE.md / ADR-008 / memory (2026-04-19)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 01:21:13 +08:00

77 lines
2.0 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
修正資料庫中的 import_date 欄位
將所有 1970-01-01 的日期更新為今天
"""
import sys
import os
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
from database.vendor_manager import VendorDatabaseManager
from database.vendor_models import VendorStockout
from datetime import date
def fix_import_dates():
"""修正 import_date 欄位"""
db = VendorDatabaseManager()
session = db.get_session()
try:
# 查詢所有 import_date 為 1970-01-01 的記錄
bad_date = date(1970, 1, 1)
records = session.query(VendorStockout).filter(
VendorStockout.import_date == bad_date
).all()
print("=" * 80)
print(f"修正 import_date 欄位")
print("=" * 80)
if not records:
print("\n✅ 沒有需要修正的記錄(所有日期都正確)")
return
print(f"\n找到 {len(records)} 筆需要修正的記錄")
print(f"將日期從 1970-01-01 更新為今天: {date.today()}")
print("\n確定要更新嗎?(y/n): ", end='')
response = input().strip().lower()
if response != 'y':
print("❌ 已取消")
return
# 更新記錄
today = date.today()
updated_count = 0
for record in records:
record.import_date = today
updated_count += 1
if updated_count % 10 == 0:
print(f" 已更新 {updated_count}/{len(records)} 筆...")
# 提交變更
session.commit()
print(f"\n✅ 成功更新 {updated_count} 筆記錄")
print(f" 新日期: {today}")
print("\n" + "=" * 80)
print("修正完成!")
print("=" * 80)
except Exception as e:
session.rollback()
print(f"\n❌ 錯誤: {e}")
import traceback
traceback.print_exc()
finally:
session.close()
if __name__ == '__main__':
fix_import_dates()