learnhouse/apps/api/migrations/versions/4a88b680263c_multi_contributors.py
2025-03-20 11:15:30 +01:00

48 lines
1.9 KiB
Python

"""Multi-contributors
Revision ID: 4a88b680263c
Revises: 87a621284ae4
Create Date: 2025-03-20 11:05:24.951129
"""
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa # noqa: F401
import sqlmodel # noqa: F401
from alembic_postgresql_enum import TableReference
from sqlalchemy.dialects import postgresql
# revision identifiers, used by Alembic.
revision: str = '4a88b680263c'
down_revision: Union[str, None] = '87a621284ae4'
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.add_column('course', sa.Column('open_to_contributors', sa.Boolean(), nullable=False, default=False, server_default='false'))
op.add_column('resourceauthor', sa.Column('authorship_status', postgresql.ENUM('ACTIVE', 'PENDING', 'INACTIVE', name='resourceauthorshipstatusenum', create_type=False), nullable=False, default='INACTIVE', server_default='INACTIVE'))
op.sync_enum_values(
enum_schema='public',
enum_name='resourceauthorshipenum',
new_values=['CREATOR', 'CONTRIBUTOR', 'MAINTAINER', 'REPORTER'],
affected_columns=[TableReference(table_schema='public', table_name='resourceauthor', column_name='authorship')],
enum_values_to_rename=[],
)
# ### end Alembic commands ###
def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.sync_enum_values(
enum_schema='public',
enum_name='resourceauthorshipenum',
new_values=['CREATOR', 'MAINTAINER', 'REPORTER'],
affected_columns=[TableReference(table_schema='public', table_name='resourceauthor', column_name='authorship')],
enum_values_to_rename=[],
)
op.drop_column('resourceauthor', 'authorship_status')
op.drop_column('course', 'open_to_contributors')
# ### end Alembic commands ###