728x90
1. entities.py
from uuid import UUID
from advanced_alchemy.base import UUIDAuditBase
from sqlalchemy.orm import Mapped, mapped_column
from sqlalchemy.dialects.postgresql import UUID as psql_UUID # postgresql 에서도 string type 이 아닌 UUID type으로 관리하기 위해 import
class IdempotencyKey(UUIDAuditBase):
idempotency_key: Mapped[UUID] = mapped_column(psql_UUID(as_uuid=True), unique=True, nullable=False)
2. auto ddl example code
from sqlalchemy import create_engine
from api.domain.credit.entities import IdempotencyKey
# 연결하고자 하는 Database의 정보를 설정
engine = create_engine("postgresql://postgres:{DATABASE_PASSWORD}@127.0.0.1:54322/postgres")
# 자동으로 DDL 을 생성하여 CREATE TABLE 을 실행한다.
IdempotencyKey.metadata.create_all(engine)
3. 결과
나의 경우 supabase 를 사용하기에 supabase web console에서 확인해본 결과 다음과 같이 table 이 생성된 것을 확인할 수 있다.
728x90
'Backend' 카테고리의 다른 글
멱등성을 보장하는 시스템 개발하기 (5) | 2024.10.13 |
---|---|
[GitHub] REMOTE HOST IDENTIFICATION HAS CHANGED 해결방법 (0) | 2023.03.26 |