33 lines
947 B
Python
33 lines
947 B
Python
|
|
"""Make admin_id nullable in admin_logs for system actions
|
||
|
|
|
||
|
|
Revision ID: 017_admin_logs_nullable_admin_id
|
||
|
|
Revises: 016_add_banned_until
|
||
|
|
Create Date: 2024-12-19
|
||
|
|
|
||
|
|
"""
|
||
|
|
from typing import Sequence, Union
|
||
|
|
|
||
|
|
from alembic import op
|
||
|
|
import sqlalchemy as sa
|
||
|
|
|
||
|
|
|
||
|
|
# revision identifiers, used by Alembic.
|
||
|
|
revision: str = '017_admin_logs_nullable_admin_id'
|
||
|
|
down_revision: Union[str, None] = '016_add_banned_until'
|
||
|
|
branch_labels: Union[str, Sequence[str], None] = None
|
||
|
|
depends_on: Union[str, Sequence[str], None] = None
|
||
|
|
|
||
|
|
|
||
|
|
def upgrade() -> None:
|
||
|
|
# Make admin_id nullable for system actions (like auto-unban)
|
||
|
|
op.alter_column('admin_logs', 'admin_id',
|
||
|
|
existing_type=sa.Integer(),
|
||
|
|
nullable=True)
|
||
|
|
|
||
|
|
|
||
|
|
def downgrade() -> None:
|
||
|
|
# Revert to not nullable (will fail if there are NULL values)
|
||
|
|
op.alter_column('admin_logs', 'admin_id',
|
||
|
|
existing_type=sa.Integer(),
|
||
|
|
nullable=False)
|