175 lines
6.2 KiB
SQL
175 lines
6.2 KiB
SQL
CREATE TABLE IF NOT EXISTS "__EFMigrationsHistory" (
|
|
"MigrationId" character varying(150) NOT NULL,
|
|
"ProductVersion" character varying(32) NOT NULL,
|
|
CONSTRAINT "PK___EFMigrationsHistory" PRIMARY KEY ("MigrationId")
|
|
);
|
|
|
|
START TRANSACTION;
|
|
|
|
DO $EF$
|
|
BEGIN
|
|
IF NOT EXISTS(SELECT 1 FROM "__EFMigrationsHistory" WHERE "MigrationId" = '20260201120312_InitialCreate') THEN
|
|
CREATE TABLE "ServiceInstances" (
|
|
"Id" bigint GENERATED BY DEFAULT AS IDENTITY,
|
|
"ClusterId" character varying(100) NOT NULL,
|
|
"DestinationId" character varying(100) NOT NULL,
|
|
"Address" character varying(200) NOT NULL,
|
|
"Health" integer NOT NULL,
|
|
"Weight" integer NOT NULL,
|
|
"Status" integer NOT NULL,
|
|
"CreatedBy" bigint,
|
|
"CreatedTime" timestamp with time zone NOT NULL,
|
|
"UpdatedBy" bigint,
|
|
"UpdatedTime" timestamp with time zone,
|
|
"IsDeleted" boolean NOT NULL,
|
|
"Version" integer NOT NULL,
|
|
CONSTRAINT "PK_ServiceInstances" PRIMARY KEY ("Id")
|
|
);
|
|
END IF;
|
|
END $EF$;
|
|
|
|
DO $EF$
|
|
BEGIN
|
|
IF NOT EXISTS(SELECT 1 FROM "__EFMigrationsHistory" WHERE "MigrationId" = '20260201120312_InitialCreate') THEN
|
|
CREATE TABLE "Tenants" (
|
|
"Id" bigint GENERATED BY DEFAULT AS IDENTITY,
|
|
"TenantCode" character varying(50) NOT NULL,
|
|
"TenantName" character varying(100) NOT NULL,
|
|
"Status" integer NOT NULL,
|
|
"CreatedBy" bigint,
|
|
"CreatedTime" timestamp with time zone NOT NULL,
|
|
"UpdatedBy" bigint,
|
|
"UpdatedTime" timestamp with time zone,
|
|
"IsDeleted" boolean NOT NULL,
|
|
"Version" integer NOT NULL,
|
|
CONSTRAINT "PK_Tenants" PRIMARY KEY ("Id"),
|
|
CONSTRAINT "AK_Tenants_TenantCode" UNIQUE ("TenantCode")
|
|
);
|
|
END IF;
|
|
END $EF$;
|
|
|
|
DO $EF$
|
|
BEGIN
|
|
IF NOT EXISTS(SELECT 1 FROM "__EFMigrationsHistory" WHERE "MigrationId" = '20260201120312_InitialCreate') THEN
|
|
CREATE TABLE "TenantRoutes" (
|
|
"Id" bigint GENERATED BY DEFAULT AS IDENTITY,
|
|
"TenantCode" character varying(50) NOT NULL,
|
|
"ServiceName" character varying(100) NOT NULL,
|
|
"ClusterId" character varying(100) NOT NULL,
|
|
"PathPattern" character varying(200) NOT NULL,
|
|
"Priority" integer NOT NULL,
|
|
"Status" integer NOT NULL,
|
|
"CreatedBy" bigint,
|
|
"CreatedTime" timestamp with time zone NOT NULL,
|
|
"UpdatedBy" bigint,
|
|
"UpdatedTime" timestamp with time zone,
|
|
"IsDeleted" boolean NOT NULL,
|
|
"Version" integer NOT NULL,
|
|
CONSTRAINT "PK_TenantRoutes" PRIMARY KEY ("Id"),
|
|
CONSTRAINT "FK_TenantRoutes_Tenants_TenantCode" FOREIGN KEY ("TenantCode") REFERENCES "Tenants" ("TenantCode") ON DELETE RESTRICT
|
|
);
|
|
END IF;
|
|
END $EF$;
|
|
|
|
DO $EF$
|
|
BEGIN
|
|
IF NOT EXISTS(SELECT 1 FROM "__EFMigrationsHistory" WHERE "MigrationId" = '20260201120312_InitialCreate') THEN
|
|
CREATE UNIQUE INDEX "IX_ServiceInstances_ClusterId_DestinationId" ON "ServiceInstances" ("ClusterId", "DestinationId");
|
|
END IF;
|
|
END $EF$;
|
|
|
|
DO $EF$
|
|
BEGIN
|
|
IF NOT EXISTS(SELECT 1 FROM "__EFMigrationsHistory" WHERE "MigrationId" = '20260201120312_InitialCreate') THEN
|
|
CREATE INDEX "IX_ServiceInstances_Health" ON "ServiceInstances" ("Health");
|
|
END IF;
|
|
END $EF$;
|
|
|
|
DO $EF$
|
|
BEGIN
|
|
IF NOT EXISTS(SELECT 1 FROM "__EFMigrationsHistory" WHERE "MigrationId" = '20260201120312_InitialCreate') THEN
|
|
CREATE INDEX "IX_TenantRoutes_ClusterId" ON "TenantRoutes" ("ClusterId");
|
|
END IF;
|
|
END $EF$;
|
|
|
|
DO $EF$
|
|
BEGIN
|
|
IF NOT EXISTS(SELECT 1 FROM "__EFMigrationsHistory" WHERE "MigrationId" = '20260201120312_InitialCreate') THEN
|
|
CREATE UNIQUE INDEX "IX_TenantRoutes_TenantCode_ServiceName" ON "TenantRoutes" ("TenantCode", "ServiceName");
|
|
END IF;
|
|
END $EF$;
|
|
|
|
DO $EF$
|
|
BEGIN
|
|
IF NOT EXISTS(SELECT 1 FROM "__EFMigrationsHistory" WHERE "MigrationId" = '20260201120312_InitialCreate') THEN
|
|
CREATE UNIQUE INDEX "IX_Tenants_TenantCode" ON "Tenants" ("TenantCode");
|
|
END IF;
|
|
END $EF$;
|
|
|
|
DO $EF$
|
|
BEGIN
|
|
IF NOT EXISTS(SELECT 1 FROM "__EFMigrationsHistory" WHERE "MigrationId" = '20260201120312_InitialCreate') THEN
|
|
INSERT INTO "__EFMigrationsHistory" ("MigrationId", "ProductVersion")
|
|
VALUES ('20260201120312_InitialCreate', '9.0.0');
|
|
END IF;
|
|
END $EF$;
|
|
|
|
DO $EF$
|
|
BEGIN
|
|
IF NOT EXISTS(SELECT 1 FROM "__EFMigrationsHistory" WHERE "MigrationId" = '20260201133826_AddIsGlobalToTenantRoute') THEN
|
|
ALTER TABLE "TenantRoutes" DROP CONSTRAINT "FK_TenantRoutes_Tenants_TenantCode";
|
|
END IF;
|
|
END $EF$;
|
|
|
|
DO $EF$
|
|
BEGIN
|
|
IF NOT EXISTS(SELECT 1 FROM "__EFMigrationsHistory" WHERE "MigrationId" = '20260201133826_AddIsGlobalToTenantRoute') THEN
|
|
ALTER TABLE "Tenants" DROP CONSTRAINT "AK_Tenants_TenantCode";
|
|
END IF;
|
|
END $EF$;
|
|
|
|
DO $EF$
|
|
BEGIN
|
|
IF NOT EXISTS(SELECT 1 FROM "__EFMigrationsHistory" WHERE "MigrationId" = '20260201133826_AddIsGlobalToTenantRoute') THEN
|
|
DROP INDEX "IX_TenantRoutes_TenantCode_ServiceName";
|
|
END IF;
|
|
END $EF$;
|
|
|
|
DO $EF$
|
|
BEGIN
|
|
IF NOT EXISTS(SELECT 1 FROM "__EFMigrationsHistory" WHERE "MigrationId" = '20260201133826_AddIsGlobalToTenantRoute') THEN
|
|
ALTER TABLE "TenantRoutes" ADD "IsGlobal" boolean NOT NULL DEFAULT FALSE;
|
|
END IF;
|
|
END $EF$;
|
|
|
|
DO $EF$
|
|
BEGIN
|
|
IF NOT EXISTS(SELECT 1 FROM "__EFMigrationsHistory" WHERE "MigrationId" = '20260201133826_AddIsGlobalToTenantRoute') THEN
|
|
CREATE INDEX "IX_TenantRoutes_ServiceName" ON "TenantRoutes" ("ServiceName");
|
|
END IF;
|
|
END $EF$;
|
|
|
|
DO $EF$
|
|
BEGIN
|
|
IF NOT EXISTS(SELECT 1 FROM "__EFMigrationsHistory" WHERE "MigrationId" = '20260201133826_AddIsGlobalToTenantRoute') THEN
|
|
CREATE INDEX "IX_TenantRoutes_ServiceName_IsGlobal_Status" ON "TenantRoutes" ("ServiceName", "IsGlobal", "Status");
|
|
END IF;
|
|
END $EF$;
|
|
|
|
DO $EF$
|
|
BEGIN
|
|
IF NOT EXISTS(SELECT 1 FROM "__EFMigrationsHistory" WHERE "MigrationId" = '20260201133826_AddIsGlobalToTenantRoute') THEN
|
|
CREATE INDEX "IX_TenantRoutes_TenantCode" ON "TenantRoutes" ("TenantCode");
|
|
END IF;
|
|
END $EF$;
|
|
|
|
DO $EF$
|
|
BEGIN
|
|
IF NOT EXISTS(SELECT 1 FROM "__EFMigrationsHistory" WHERE "MigrationId" = '20260201133826_AddIsGlobalToTenantRoute') THEN
|
|
INSERT INTO "__EFMigrationsHistory" ("MigrationId", "ProductVersion")
|
|
VALUES ('20260201133826_AddIsGlobalToTenantRoute', '9.0.0');
|
|
END IF;
|
|
END $EF$;
|
|
COMMIT;
|
|
|