vd/database/migrations/create_virtual_order_cards_table.pgsql
2019-01-21 17:34:40 +08:00

47 lines
2.8 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"."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));