[python] SQLAlchemy에서 테이블을 생성하거나 수정하는 방법은 무엇인가요?

SQLAlchemy는 파이썬에서 데이터베이스를 다루는 데 사용되는 강력한 ORM(Object-Relational Mapping) 라이브러리입니다. SQLAlchemy를 사용하여 테이블을 생성하거나 수정하려면 다음과 같은 단계를 따를 수 있습니다.

  1. 테이블 클래스 정의하기:

    테이블을 생성하기 위해 먼저 SQLAlchemy의 Table 클래스를 사용하여 테이블의 메타데이터를 정의해야 합니다. 각 열(column)은 Column 클래스로 정의되며, 각 열은 데이터 유형과 제약 조건을 가질 수 있습니다. 예를 들어, 다음은 users 테이블을 정의하는 예입니다.

    from sqlalchemy import Table, Column, Integer, String, MetaData
    
    metadata = MetaData()
    
    users = Table(
        'users',
        metadata,
        Column('id', Integer, primary_key=True),
        Column('name', String(50)),
        Column('age', Integer),
    )
    
  2. 테이블 생성 또는 수정하기:

    SQLAlchemy는 metadata.create_all() 메서드를 사용하여 테이블을 생성하거나 수정할 수 있습니다. 이 메서드를 호출하면 SQLAlchemy는 정의된 테이블을 기반으로 SQL 문을 생성하고 실행합니다.

    engine = create_engine('your_database_url')
    metadata.create_all(engine)
    

    이렇게하면 your_database_url에 지정된 데이터베이스에 테이블이 생성됩니다.

  3. SQLAlchemy의 마이그레이션 도구 사용하기(Optional):

    SQLAlchemy는 데이터베이스 스키마를 관리하기 위한 마이그레이션 도구인 Alembic도 제공합니다. Alembic은 테이블의 스키마 변경 관리, 버전 관리 및 롤백과 같은 일련의 작업을 지원합니다. Alembic을 사용하면 변화를 추적하고 사용자가 원하는 시점으로 되돌릴 수 있습니다.

    더 자세한 내용은 SQLAlchemy 및 Alembic의 공식 문서를 참조하세요.

참고: