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 ```
59 lines
1.2 KiB
Python
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()
|