더북(TheBook)

새 마이그레이션 파일이 생성되는데, 다음과 비슷하게 나올 것입니다.

파이썬: 마이그레이션 파일 예시

# 위쪽 생략

revision: str = '4e40060bb6db'
down_revision: Union[str, None] = None
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None

def upgrade() -> None:
    # ### commands auto generated by Alembic - please adjust! ###
    op.create_table('users',
    sa.Column('id', sa.Integer(), nullable=False),
    sa.Column('username', sqlmodel.sql.sqltypes.AutoString(length=40), nullable=False),
    sa.Column('email', sqlmodel.sql.sqltypes.AutoString(length=128), nullable=False),
    sa.Column('display_name', sqlmodel.sql.sqltypes.AutoString(length=40), nullable=False),
    sa.Column('password', sqlmodel.sql.sqltypes.AutoString(length=128), nullable=False),
    sa.Column('is_host', sa.Boolean(), nullable=False),
    sa.Column('created_at', sqlalchemy_utc.sqltypes.UtcDateTime(timezone=True), server_default=sa.text('(CURRENT_TIMESTAMP)'), nullable=False),
    sa.Column('updated_at', sqlalchemy_utc.sqltypes.UtcDateTime(timezone=True), server_default=sa.text('(CURRENT_TIMESTAMP)'), nullable=False),
    sa.PrimaryKeyConstraint('id'),
    sa.UniqueConstraint('email'),
    sa.UniqueConstraint('email', name='uq_email')
    )

# 생략

upgrade()downgrade() 함수가 비어 있다면 env.py 파일 위에 우리 모델이 있는 모듈을 제대로 import했는지 확인해야 합니다.

여기까지 진행한 커밋은 다음 URL을 참고합니다.

https://gilbut.co/c/25064055Tf

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.