[python] SQLAlchemy에서 데이터베이스 스키마 생성하기

SQLAlchemy는 파이썬으로 작성된 ORM(Object-Relational Mapping) 라이브러리로, 데이터베이스와의 상호 작용을 쉽게 할 수 있게 해줍니다. 이번 포스트에서는 SQLAlchemy를 사용하여 데이터베이스 스키마를 생성하는 방법에 대해 알아보겠습니다.

SQLAlchemy 설치하기

먼저 SQLAlchemy를 설치해야 합니다. 아래의 명령을 사용하여 설치할 수 있습니다.

pip install sqlalchemy

데이터베이스 연결 설정하기

데이터베이스에 연결하기 위해 SQLAlchemy를 사용하려면, 데이터베이스의 정보를 알아야 합니다. 예를 들어, MySQL 데이터베이스에 연결하기 위해서는 호스트, 포트, 사용자 이름, 비밀번호, 데이터베이스 이름 등의 정보가 필요합니다.

from sqlalchemy import create_engine

# 데이터베이스 연결 URL 설정
db_url = "mysql://username:password@hostname:port/database_name"

# 엔진 생성
engine = create_engine(db_url)

모델 정의하기

데이터베이스 스키마를 생성하기 전에 모델을 정의해야 합니다. SQLAlchemy에서는 이를 위해 declarative_base 함수를 사용합니다. declarative_base 함수는 모델을 정의하기 위한 기반 클래스를 생성합니다.

from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, String

# 기반 클래스 생성
Base = declarative_base()

# 모델 정의
class User(Base):
    __tablename__ = 'users'

    id = Column(Integer, primary_key=True)
    name = Column(String(255))

위의 예제에서는 User 모델을 정의하였습니다. Userusers 테이블과 매핑되며, idname이라는 두 개의 컬럼을 갖습니다.

데이터베이스 스키마 생성하기

모델을 정의한 후, SQLAlchemy를 사용하여 데이터베이스 스키마를 생성할 수 있습니다. 이를 위해 Base.metadata.create_all 메서드를 사용합니다.

Base.metadata.create_all(engine)

위의 코드를 실행하면, 정의한 모든 모델에 대한 테이블이 데이터베이스에 생성됩니다.

실행 결과 확인하기

데이터베이스 스키마가 성공적으로 생성되었는지 확인하기 위해 데이터베이스에 접속하여 확인해보세요.

SQLAlchemy를 사용하여 데이터베이스 스키마를 생성하는 방법에 대해 알아보았습니다. SQLAlchemy를 사용하면 파이썬 코드로 데이터베이스 스키마를 정의하고 생성할 수 있으므로, 개발 과정에서 효율적이고 편리하게 작업할 수 있습니다.

참고 자료