
새로운 테이블을 구성하는 것이 아니라 이미 구축되어 있는 데이터베이스에 연결하여 이를 매핑해야하는 상황이다.
ORM 모델을 만들어야하는데 181개의 컬럼인 테이블을 직접 만드는거 자체가 말이 안되서 역시나 파이썬 라이브러리가 있을 거라고 굳게 믿고 검색했더니 sqlacodegen라는 라이브러리가 존재한다.
관심 있는 사람들은 깃허브 링크를 참고 -> https://github.com/agronholm/sqlacodegen
빠르게 들어가보자
pip
pip install sqlacodegen
Command
터미널에서 DB 접속 정보와 함께 생성할 모델을 정의하게 되면 해당 데이터베이스에 있는 테이블들이 모두 SqlAlchemy Class 파일로 생성이 된다.
sqlacodegen postgresql://dongheonlee:1111@localhost:5432/testdb > model.py
Result
model.py라는 이름의 SqlAlchemy model이 만들어진다.
pk가 없는 테이블은 Class가 아닌 Table객체로 생성이 되는 것을 명심하자
'Python > FastAPI' 카테고리의 다른 글
| [FastAPI] PassLib와 Bcrypt를 활용한 패스워드 해싱 (0) | 2024.11.30 |
|---|---|
| [FastAPI] MS SQL Server 연결 중 _SQLAllocHandle 예외 (1) | 2024.11.19 |
| [FastAPI] AttributeError - 'ScalarResult' object has no attribute 'field' (0) | 2024.11.17 |
| Mac 환경에서 mysqlclient 설치 시, pkg-config가 설치되어 있지 않다면 만날 수 있는 에러 - Can not find valid pkg-config name. (0) | 2024.11.10 |
| [FastAPI] LifeSpan Events에 대해 알아보자 (0) | 2024.11.09 |