feat(P19ERP1-1,P19ERP1-2): 新增ERP主数据同步模型与服务

这个提交包含在:
2026-03-08 16:28:56 +08:00
父节点 b45b8f2945
当前提交 a1b1d7cfc9
共修改 10 个文件,包含 1167 行新增和 94 行删除
@@ -0,0 +1,50 @@
-- CreateTable
CREATE TABLE "integration_bindings" (
"id" UUID NOT NULL,
"provider" VARCHAR(32) NOT NULL,
"entity_type" VARCHAR(32) NOT NULL,
"local_id" UUID NOT NULL,
"external_id" VARCHAR(128),
"external_code" VARCHAR(128),
"last_synced_at" TIMESTAMP(3),
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"created_by" UUID,
"updated_at" TIMESTAMP(3) NOT NULL,
"updated_by" UUID,
CONSTRAINT "integration_bindings_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "integration_sync_states" (
"id" UUID NOT NULL,
"provider" VARCHAR(32) NOT NULL,
"resource_type" VARCHAR(32) NOT NULL,
"status" VARCHAR(16) NOT NULL DEFAULT 'idle',
"last_result" JSONB,
"last_error" TEXT,
"last_started_at" TIMESTAMP(3),
"last_finished_at" TIMESTAMP(3),
"last_success_at" TIMESTAMP(3),
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"created_by" UUID,
"updated_at" TIMESTAMP(3) NOT NULL,
"updated_by" UUID,
CONSTRAINT "integration_sync_states_pkey" PRIMARY KEY ("id")
);
-- CreateIndex
CREATE INDEX "idx_integration_bindings_provider_entity_external_code" ON "integration_bindings"("provider", "entity_type", "external_code");
-- CreateIndex
CREATE UNIQUE INDEX "integration_bindings_provider_entity_local_ux" ON "integration_bindings"("provider", "entity_type", "local_id");
-- CreateIndex
CREATE UNIQUE INDEX "integration_bindings_provider_entity_external_id_ux" ON "integration_bindings"("provider", "entity_type", "external_id");
-- CreateIndex
CREATE INDEX "idx_integration_sync_states_provider_status" ON "integration_sync_states"("provider", "status");
-- CreateIndex
CREATE UNIQUE INDEX "integration_sync_states_provider_resource_ux" ON "integration_sync_states"("provider", "resource_type");