datetime.utcnow() → datetime.now(UTC) 전환 #26

Closed
opened 2026-04-22 02:51:59 +09:00 by xhh · 0 comments
Owner

Python 3.12+ 에서 datetime.utcnow() 가 deprecated. CI 실행 로그에 관련 DeprecationWarning 이 다수 출력됨. 기능엔 영향 없으나 언젠가 제거될 예정이므로 선제 대응.

교체 대상

grep -rn "datetime.utcnow()" src/ scripts/

현재 확인된 위치:

  • src/financial_platform/api/routers/watchlist.py (2곳: PATCH, DELETE 의 updated_at)
  • src/financial_platform/api/routers/reports.py (1곳: PATCH 의 updated_at)
  • src/financial_platform/storage/models.pydefault=datetime.utcnow (여러 테이블) — 이건 ORM default 라 교체 시 마이그레이션 영향 검토 필요
  • scripts/collect_insider.py 등 수집 스크립트 (로그 타임스탬프)

권장 교체

from datetime import datetime, UTC
# before
now = datetime.utcnow()
# after
now = datetime.now(UTC)

주의: tz-naive → tz-aware 로 바뀌면 SQLAlchemy DateTime 컬럼과 직렬화 동작이 바뀔 수 있음. DateTime(timezone=True) 로 컬럼 변경이 수반되는지 별도 결정.

범위 옵션

  • A) 라우터만 교체 (안전, 작음)
  • B) ORM default 까지 교체 + 컬럼에 timezone=True (마이그레이션 필요)

1차는 A 수준으로 처리 권고. B 는 별도 이슈로 쪼갤 수 있음.

Python 3.12+ 에서 `datetime.utcnow()` 가 deprecated. CI 실행 로그에 관련 DeprecationWarning 이 다수 출력됨. 기능엔 영향 없으나 언젠가 제거될 예정이므로 선제 대응. ## 교체 대상 ```bash grep -rn "datetime.utcnow()" src/ scripts/ ``` 현재 확인된 위치: - `src/financial_platform/api/routers/watchlist.py` (2곳: PATCH, DELETE 의 updated_at) - `src/financial_platform/api/routers/reports.py` (1곳: PATCH 의 updated_at) - `src/financial_platform/storage/models.py` 의 `default=datetime.utcnow` (여러 테이블) — 이건 ORM default 라 교체 시 마이그레이션 영향 검토 필요 - `scripts/collect_insider.py` 등 수집 스크립트 (로그 타임스탬프) ## 권장 교체 ```python from datetime import datetime, UTC # before now = datetime.utcnow() # after now = datetime.now(UTC) ``` 주의: tz-naive → tz-aware 로 바뀌면 SQLAlchemy `DateTime` 컬럼과 직렬화 동작이 바뀔 수 있음. `DateTime(timezone=True)` 로 컬럼 변경이 수반되는지 별도 결정. ## 범위 옵션 - A) 라우터만 교체 (안전, 작음) - B) ORM default 까지 교체 + 컬럼에 timezone=True (마이그레이션 필요) 1차는 A 수준으로 처리 권고. B 는 별도 이슈로 쪼갤 수 있음.
xhh closed this issue 2026-04-22 03:39:06 +09:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
xhh/financial-data-platform#26
No description provided.