[python] SQLAlchemy에서 테이블을 생성하거나 수정하는 방법은 무엇인가요?
SQLAlchemy는 파이썬에서 데이터베이스를 다루는 데 사용되는 강력한 ORM(Object-Relational Mapping) 라이브러리입니다. SQLAlchemy를 사용하여 테이블을 생성하거나 수정하려면 다음과 같은 단계를 따를 수 있습니다.
-
테이블 클래스 정의하기:
테이블을 생성하기 위해 먼저 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), )
-
테이블 생성 또는 수정하기:
SQLAlchemy는
metadata.create_all()
메서드를 사용하여 테이블을 생성하거나 수정할 수 있습니다. 이 메서드를 호출하면 SQLAlchemy는 정의된 테이블을 기반으로 SQL 문을 생성하고 실행합니다.engine = create_engine('your_database_url') metadata.create_all(engine)
이렇게하면
your_database_url
에 지정된 데이터베이스에 테이블이 생성됩니다. -
SQLAlchemy의 마이그레이션 도구 사용하기(Optional):
SQLAlchemy는 데이터베이스 스키마를 관리하기 위한 마이그레이션 도구인
Alembic
도 제공합니다. Alembic은 테이블의 스키마 변경 관리, 버전 관리 및 롤백과 같은 일련의 작업을 지원합니다. Alembic을 사용하면 변화를 추적하고 사용자가 원하는 시점으로 되돌릴 수 있습니다.더 자세한 내용은 SQLAlchemy 및 Alembic의 공식 문서를 참조하세요.
참고:
- SQLAlchemy 공식 문서: https://docs.sqlalchemy.org/
- Alembic 공식 문서: https://alembic.sqlalchemy.org/