48 lines
3.0 KiB
PL/PgSQL
48 lines
3.0 KiB
PL/PgSQL
CREATE SEQUENCE IF NOT EXISTS "virtual_order_cards_partition_id_seq"
|
||
INCREMENT 1
|
||
MINVALUE 1
|
||
MAXVALUE 2147483647 START 1
|
||
CACHE 1;
|
||
|
||
CREATE TABLE "virtual_order_cards_partition" (
|
||
"id" int4 NOT NULL DEFAULT nextval('virtual_order_cards_partition_id_seq'::regclass),
|
||
"type" int2 NOT NULL DEFAULT 0,
|
||
"sim" int8 NOT NULL DEFAULT 0,
|
||
"order_id" int4 NOT NULL DEFAULT 0,
|
||
"company_id" int4 NOT NULL DEFAULT 0,
|
||
"package_id" int4 NOT NULL DEFAULT 0,
|
||
"counts" int4 NOT NULL DEFAULT 1,
|
||
"created_at" timestamp(0),
|
||
"updated_at" timestamp(0),
|
||
"deleted_at" timestamp(0))
|
||
PARTITION BY
|
||
LIST (
|
||
"type"
|
||
);
|
||
|
||
ALTER SEQUENCE "virtual_order_cards_partition_id_seq" OWNED BY "virtual_order_cards_partition"."id";
|
||
|
||
COMMENT ON COLUMN "virtual_order_cards_partition"."id" IS '关联表ID';
|
||
COMMENT ON COLUMN "virtual_order_cards_partition"."type" IS '订单类型(0:基础套餐 1:套餐续费 2:续费包 3:加油包 4:可选包 5:附加包)';
|
||
COMMENT ON COLUMN "virtual_order_cards_partition"."sim" IS 'SIM卡号';
|
||
COMMENT ON COLUMN "virtual_order_cards_partition"."order_id" IS '订单ID';
|
||
COMMENT ON COLUMN "virtual_order_cards_partition"."company_id" IS '企业ID';
|
||
COMMENT ON COLUMN "virtual_order_cards_partition"."package_id" IS '套餐ID';
|
||
COMMENT ON COLUMN "virtual_order_cards_partition"."counts" IS '数量';
|
||
COMMENT ON TABLE "virtual_order_cards_partition" IS 'VD卡关联套餐订单';
|
||
|
||
CREATE TABLE virtual_order_cards PARTITION OF virtual_order_cards_partition FOR VALUES IN (0);
|
||
CREATE TABLE virtual_order_renewal_cards PARTITION OF virtual_order_cards_partition FOR VALUES IN (1);
|
||
CREATE TABLE virtual_order_renewal_package_cards PARTITION OF virtual_order_cards_partition FOR VALUES IN (2);
|
||
CREATE TABLE virtual_order_flows_package_cards PARTITION OF virtual_order_cards_partition FOR VALUES IN (3);
|
||
|
||
CREATE UNIQUE INDEX "virtual_order_cards_order_id_sim_deleted_at_unique" ON "virtual_order_cards" (order_id, sim, COALESCE(deleted_at, '1970-01-01 08:00:00'::timestamp));
|
||
CREATE UNIQUE INDEX "virtual_order_renewal_cards_order_id_sim_deleted_at_unique" ON "virtual_order_cards" (order_id, sim, COALESCE(deleted_at, '1970-01-01 08:00:00'::timestamp));
|
||
CREATE UNIQUE INDEX "virtual_order_renewal_package_cards_order_id_sim_deleted_at_unique" ON "virtual_order_cards" (order_id, sim, COALESCE(deleted_at, '1970-01-01 08:00:00'::timestamp));
|
||
CREATE UNIQUE INDEX "virtual_order_flows_package_cards_order_id_sim_deleted_at_unique" ON "virtual_order_cards" (order_id, sim, COALESCE(deleted_at, '1970-01-01 08:00:00'::timestamp));
|
||
|
||
CREATE INDEX "virtual_order_cards_timelines_index" ON "virtual_order_cards" USING GIN (timelines_range(sim));
|
||
CREATE INDEX "virtual_order_renewal_cards_timelines_index" ON "virtual_order_cards" USING GIN (timelines_range(sim));
|
||
CREATE INDEX "virtual_order_renewal_package_cards_timelines_index" ON "virtual_order_cards" USING GIN (timelines_range(sim));
|
||
CREATE INDEX "virtual_order_flows_package_cards_index" ON "virtual_order_cards" USING GIN (timelines_range(sim));
|