SQLAlchemy models.py 자동생성

2021. 5. 6. 18:38개발노트

기존에 만들어져있던 DB의 테이블들을 models.py에 맵핑한다.

클래스명은 테이블명을 대문자로 바꿔서 만들어준다. 

from sqlalchemy.engine import create_engine
from sqlalchemy.schema import MetaData

from sqlacodegen.codegen import CodeGenerator

url = "mysql+pymysql://{사용할아이디}:{비밀번호}@{000.000.000.000}:{포트번호}/{db이름}"
engine = create_engine(url)
metadata = MetaData(engine)
metadata.reflect(engine)


with open('models.py', 'w', encoding='utf-8') as outfile:
    generator = CodeGenerator(metadata)
    generator.render(outfile)