"""初始化数据库并灌入测试数据。

用法（在 code 目录下）：
    python -m app.init_db
"""
from __future__ import annotations

from sqlalchemy import select, func

from app.core.database import TargetSessionLocal, init_db
from app.core.logger import logger
from app.models import RenderRecord


def seed() -> None:
    """写入一条结果记录示例（企业信息现为外部源库，不再灌入）。"""
    with TargetSessionLocal() as db:
        count = db.scalar(select(func.count()).select_from(RenderRecord))
        if not count:
            db.add(
                RenderRecord(
                    enterprise_id=1,
                    order_id=1,
                    template="at/奥地利WEEE授权 - template.docx",
                    output_name="奥地利WEEE授权_示例.docx",
                    output_path="(示例占位路径)",
                    replacements=5,
                    unresolved=None,
                    status="success",
                    message="示例结果记录",
                )
            )
            db.commit()
            logger.info("已写入 1 条结果测试数据")
        else:
            logger.info("结果记录表已有 %s 条数据，跳过灌入", count)


if __name__ == "__main__":
    init_db()
    seed()
    print("init_db + seed 完成")
