homelab_automation/alembic/versions/0009_add_app_settings_table.py

35 lines
1.1 KiB
Python

"""Add app_settings table
Revision ID: 0009_add_app_settings_table
Revises: 0008_add_lvm_zfs_metrics
Create Date: 2025-12-13
"""
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
revision: str = '0009_add_app_settings_table'
down_revision: Union[str, None] = '0008_add_lvm_zfs_metrics'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
op.create_table(
'app_settings',
sa.Column('key', sa.String(length=100), primary_key=True, nullable=False),
sa.Column('value', sa.Text(), nullable=True),
sa.Column('created_at', sa.DateTime(timezone=True), nullable=False, server_default=sa.text('CURRENT_TIMESTAMP')),
sa.Column('updated_at', sa.DateTime(timezone=True), nullable=False, server_default=sa.text('CURRENT_TIMESTAMP')),
)
op.create_index('idx_app_settings_updated_at', 'app_settings', ['updated_at'], unique=False)
def downgrade() -> None:
op.drop_index('idx_app_settings_updated_at', table_name='app_settings')
op.drop_table('app_settings')