개발 초기 더미 데이터(dummy data) 만드는 법

개발 초기에는 CRUD API를 검증하거나 UI 화면을 테스트하기 위해 더미 데이터(dummy data)가 필요합니다.특히 FastAPI + PostgreSQL + Docker 환경에서는 백엔드와 데이터베이스가 별도로 구동되기 때문에 테스트용 초기 데이터를 자동으로 세팅해주는 스크립트가 있으면 훨씬 효율적입니다.이번 글에서는 다양한 더미 데이터는 생성 방법과 각각의 장단점을 정리했습니다. 🧭 왜 테스트 데이터 초기화가 필요할까? 개발 초기에는 UI나 API 기능 검증을 위해 … 더 읽기

테이블을 꼭 FK(ForeignKey)로 연결하는게 좋을까?

“모든 테이블을 ForeignKey로 연결해야 할까?”저는 자산앱의 데이터베이스 모델링을 하면서 테이블이 늘어나고 관계가 복잡해질수록 이런 질문이 생기기 시작했습니다.특히 FastAPI와 PostgreSQL 환경에서 SQLModel/SQLAlchemy 같은 ORM을 쓰면, 설계 결정이 코드와 런타임 동작에 직접적인 영향을 미치기 때문에 고민이 더 자주 발생하죠.이번 글에서는 실제 예제 코드를 기반으로, FK를 사용하는 이유와 사용하지 않았을 때의 차이점, 그리고 어떤 상황에서 FK를 의도적으로 생략하는 … 더 읽기

FastAPI에서 모델 변경사항을 테이블에 반영하는 방법

FastAPI 프로젝트를 운영하다 보면 데이터베이스 모델을 수정해야 하는 경우가 자주 발생합니다.특히 프로젝트가 커질수록 모델 정의(models.py) 와 실제 테이블 구조(DB Schema) 간의 불일치를 방지하는 것이 중요합니다.이번 글에서는 자산 앱 프로젝트의 모델링(ERD) 구조를 예시로, Alembic 마이그레이션 도구를 사용해 일부 테이블에만 존재하던 created_at, updated_at 필드를 모델에 추가 정의하고 테이블에 반영하는 방법을 정리해보겠습니다. 💡 문제 상황: 모델은 바뀌었는데 테이블은 … 더 읽기

자산 앱 프로젝트의 모델링(ERD) 구조

소개글에서 밝힌 바와 같이 저는 자산을 관리하는 앱을 만들고 있습니다. 이번 글에서는 프로젝트에서 사용된 데이터 모델링(ERD) 구조를 바탕으로, 각 테이블의 구조, 필드 설명, 그리고 FastAPI ORM(SQLModel)이 실제 DB 테이블을 자동으로 생성하는 원리까지 자세히 다룹니다. 목차 ERD 설계 개념 본 프로젝트에서는 Python의 SQLModel을 활용하여 데이터 모델링을 구현했습니다.SQLModel은 SQLAlchemy와 Pydantic을 결합한 ORM(Object Relational Mapping) 프레임워크로,데이터 검증과 DB … 더 읽기

FastAPI에서 모델(Model)과 스키마(Schema)의 분리

유지보수성 향상, 데이터 검증 및 보안강화를 위해 FastAPI와 SQLModel을 함께 사용하면 데이터베이스 테이블 정의(모델)와 API 요청/응답 검증(스키마)을 분리할 수 있습니다.이번 포스팅에서는 FastAPI + SQLModel + PostgreSQL(Docker) 환경을 기반으로, 스키마(Schema)에서 받은 데이터를 안전하게 모델(Model)로 변환하여 저장하는 방법을 구체적인 코드 예시와 함께 살펴보겠습니다. 🧭 개발 환경 📂 프로젝트 구조 위 구조는 FastAPI 백엔드에서 모델과 스키마를 완전히 분리하는 … 더 읽기