"""add tenant initialization fields

Revision ID: 0013
Revises: 0526fc6e6496
Create Date: 2026-02-21

新增租戶初始化相關欄位:
1. is_initialized - 租戶是否已完成初始化
2. initialized_at - 初始化完成時間
3. initialized_by - 執行初始化的使用者名稱
"""
from alembic import op
import sqlalchemy as sa


revision = '0013'
down_revision = '0526fc6e6496'  # 基於最新的 migration
branch_labels = None
depends_on = None


def upgrade() -> None:
    # 新增初始化狀態欄位
    op.add_column('tenants', sa.Column(
        'is_initialized',
        sa.Boolean(),
        nullable=False,
        server_default='false',
        comment='是否已完成初始化設定'
    ))

    # 新增初始化時間欄位
    op.add_column('tenants', sa.Column(
        'initialized_at',
        sa.DateTime(),
        nullable=True,
        comment='初始化完成時間'
    ))

    # 新增初始化執行者欄位
    op.add_column('tenants', sa.Column(
        'initialized_by',
        sa.String(255),
        nullable=True,
        comment='執行初始化的使用者名稱'
    ))


def downgrade() -> None:
    # 移除初始化欄位
    op.drop_column('tenants', 'initialized_by')
    op.drop_column('tenants', 'initialized_at')
    op.drop_column('tenants', 'is_initialized')
