"""add users.is_service_admin and flag the bootstrap admin Revision ID: f6a7b8c9d0e1 Revises: e5f6a7b8c9d0 Create Date: 2026-06-29 09:00:00.000000 """ from typing import Sequence, Union from alembic import op import sqlalchemy as sa revision: str = 'f6a7b8c9d0e1' down_revision: Union[str, None] = 'e5f6a7b8c9d0' branch_labels: Union[str, Sequence[str], None] = None depends_on: Union[str, Sequence[str], None] = None def upgrade() -> None: with op.batch_alter_table('users', schema=None) as batch_op: batch_op.add_column( sa.Column('is_service_admin', sa.Boolean(), nullable=False, server_default=sa.false()) ) # The first account created (the first-boot bootstrap admin) is the Service Admin. op.execute( "UPDATE users SET is_service_admin = 1 " "WHERE id = (SELECT MIN(id) FROM users)" ) def downgrade() -> None: with op.batch_alter_table('users', schema=None) as batch_op: batch_op.drop_column('is_service_admin')