feat(P19ERP1-1,P19ERP1-2): 新增ERP主数据同步模型与服务
这个提交包含在:
@@ -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");
|
||||
在新工单中引用
屏蔽一个用户