Files
company-ai-platform/app/tools/init_db.py
JiuContinent 19e59e83cc ```
feat: 添加数据库迁移脚本并更新Dockerfile配置

- 在Dockerfile中添加alembic配置文件和目录的复制指令
- 更新alembic/env.py注册新的模块模型:events、workflows、writebacks
- 生成完整的初始数据库schema迁移脚本,包含以下表:
  - approval_requests, attendance_records, audit_logs, domain_events
  - expenses, feishu_event_receipts, fund_accounts, legacy_sync_runs
  - official_writeback_runs, performance_metrics, policies, procurements
  - projects, report_push_runs, risk_event_actions, risk_events
  - standards, suppliers, work_reports, work_tasks, workflow_actions
  - workflow_instances等21个数据表结构定义
- 在API路由器中添加新模块的路由:events、workflows、writebacks、observability
```
2026-07-08 14:08:03 +08:00

59 lines
1.2 KiB
Python

from app.core.database import Base, engine
from app.modules.approvals.models import ApprovalRequest
from app.modules.audit.models import AuditLog
from app.modules.business.models import (
AttendanceRecord,
Expense,
FundAccount,
LegacySyncRun,
PerformanceMetric,
Policy,
Procurement,
Project,
ReportPushRun,
RiskEvent,
RiskEventAction,
Standard,
Supplier,
WorkReport,
WorkTask,
)
from app.modules.feishu.models import FeishuEventReceipt
from app.modules.events.models import DomainEvent
from app.modules.workflows.models import WorkflowAction, WorkflowInstance
from app.modules.writebacks.models import OfficialWritebackRun
_MODELS = [
ApprovalRequest,
AuditLog,
FeishuEventReceipt,
Project,
WorkTask,
Procurement,
Expense,
FundAccount,
Policy,
Standard,
PerformanceMetric,
Supplier,
AttendanceRecord,
WorkReport,
RiskEvent,
RiskEventAction,
LegacySyncRun,
ReportPushRun,
DomainEvent,
WorkflowInstance,
WorkflowAction,
OfficialWritebackRun,
]
def main() -> None:
Base.metadata.create_all(bind=engine)
print("Database schema initialized.")
if __name__ == "__main__":
main()