51 lines
1.9 KiB
SQL
51 lines
1.9 KiB
SQL
CREATE TABLE "crm_document_libraries" (
|
|
"id" text PRIMARY KEY NOT NULL,
|
|
"organization_id" text NOT NULL,
|
|
"code" text NOT NULL,
|
|
"name" text NOT NULL,
|
|
"document_type" text NOT NULL,
|
|
"description" text,
|
|
"brand" text NOT NULL,
|
|
"language" text NOT NULL,
|
|
"product_type" text NOT NULL,
|
|
"status" text DEFAULT 'active' NOT NULL,
|
|
"is_active" boolean DEFAULT true NOT NULL,
|
|
"created_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
"updated_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
"deleted_at" timestamp with time zone,
|
|
"created_by" text NOT NULL,
|
|
"updated_by" text NOT NULL
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE UNIQUE INDEX "crm_document_libraries_org_code_idx" ON "crm_document_libraries" USING btree ("organization_id","code");
|
|
--> statement-breakpoint
|
|
CREATE TABLE "crm_document_library_versions" (
|
|
"id" text PRIMARY KEY NOT NULL,
|
|
"organization_id" text NOT NULL,
|
|
"library_id" text NOT NULL,
|
|
"version" text NOT NULL,
|
|
"file_name" text NOT NULL,
|
|
"storage_provider" text NOT NULL,
|
|
"storage_key" text NOT NULL,
|
|
"mime_type" text NOT NULL,
|
|
"file_size" integer NOT NULL,
|
|
"checksum" text NOT NULL,
|
|
"page_count" integer NOT NULL,
|
|
"status" text DEFAULT 'draft' NOT NULL,
|
|
"is_active" boolean DEFAULT false NOT NULL,
|
|
"published_at" timestamp with time zone,
|
|
"published_by" text,
|
|
"archived_at" timestamp with time zone,
|
|
"archived_by" text,
|
|
"created_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
"updated_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
"deleted_at" timestamp with time zone,
|
|
"created_by" text NOT NULL
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE UNIQUE INDEX "crm_document_library_versions_library_version_idx" ON "crm_document_library_versions" USING btree ("library_id","version");
|
|
--> statement-breakpoint
|
|
CREATE UNIQUE INDEX "crm_document_library_versions_active_library_idx"
|
|
ON "crm_document_library_versions" USING btree ("library_id")
|
|
WHERE "is_active" = true AND "deleted_at" IS NULL;
|