데이터베이스 스키마 설계 - nanna0/FastAPI-Mini-Project GitHub Wiki

✅ 데이터베이스 스키마 설계

(1) User 테이블

컬럼 타입 설명
id Integer (PK) 사용자 고유 ID
username String 유일 사용자 이름
hashed_password String 암호화된 비밀번호
class User(Base):
    __tablename__ = "users"
    id = Column(Integer, primary_key=True, index=True)
    username = Column(String, unique=True, index=True)
    hashed_password = Column(String)

(2) Chat 테이블

컬럼 타입 설명
id Integer (PK) 대화 고유 ID
user_id Integer (FK) 어느 사용자의 메시지인지
message String 사용자가 보낸 메시지
response String GPT의 응답
timestamp DateTime 대화 시간
class Chat(Base):
    __tablename__ = "chats"
    id = Column(Integer, primary_key=True, index=True)
    user_id = Column(Integer, ForeignKey("users.id"))
    message = Column(String)
    response = Column(String)
    timestamp = Column(DateTime, default=datetime.utcnow)