"""app setting Revision ID: 5f2a91c0d7e4 Revises: 07d8d62011b3 Create Date: 2026-09-10 09:00:00.000000+02:00 """ from collections.abc import Sequence import sqlalchemy as sa from alembic import op revision: str = '5f2a91c0d7e4' down_revision: str | None = '07d8d62011b3' branch_labels: str | Sequence[str] | None = None depends_on: str | Sequence[str] | None = None def upgrade() -> None: op.create_table('app_setting', sa.Column('id', sa.Integer(), nullable=False), sa.Column('month_start_day', sa.Integer(), nullable=False), sa.Column('created_at', sa.DateTime(timezone=True), nullable=False), sa.Column('updated_at', sa.DateTime(timezone=True), nullable=False), sa.CheckConstraint('id = 1', name=op.f('ck_app_setting_single_row')), sa.CheckConstraint('month_start_day BETWEEN 1 AND 31', name=op.f('ck_app_setting_month_start_day_range')), sa.PrimaryKeyConstraint('id', name=op.f('pk_app_setting')) ) # Bestandsinstallationen rechnen bisher ab dem Monatsersten – dabei bleibt es, # bis der Gehaltstag in den Einstellungen geändert wird. op.execute( "INSERT INTO app_setting (id, month_start_day, created_at, updated_at) " "VALUES (1, 1, now(), now())" ) def downgrade() -> None: op.drop_table('app_setting')