|
| 1 | +-- CreateEnum |
| 2 | +CREATE TYPE "NLBStatus" AS ENUM ('active', 'inactive', 'error'); |
| 3 | + |
| 4 | +-- CreateEnum |
| 5 | +CREATE TYPE "NLBProtocol" AS ENUM ('tcp', 'udp', 'tcp_udp'); |
| 6 | + |
| 7 | +-- CreateEnum |
| 8 | +CREATE TYPE "NLBAlgorithm" AS ENUM ('round_robin', 'least_conn', 'ip_hash', 'hash'); |
| 9 | + |
| 10 | +-- CreateEnum |
| 11 | +CREATE TYPE "NLBUpstreamStatus" AS ENUM ('up', 'down', 'checking'); |
| 12 | + |
| 13 | +-- CreateTable |
| 14 | +CREATE TABLE "network_load_balancers" ( |
| 15 | + "id" TEXT NOT NULL, |
| 16 | + "name" TEXT NOT NULL, |
| 17 | + "description" TEXT, |
| 18 | + "port" INTEGER NOT NULL, |
| 19 | + "protocol" "NLBProtocol" NOT NULL DEFAULT 'tcp', |
| 20 | + "algorithm" "NLBAlgorithm" NOT NULL DEFAULT 'round_robin', |
| 21 | + "status" "NLBStatus" NOT NULL DEFAULT 'inactive', |
| 22 | + "enabled" BOOLEAN NOT NULL DEFAULT true, |
| 23 | + "proxyTimeout" INTEGER NOT NULL DEFAULT 3, |
| 24 | + "proxyConnectTimeout" INTEGER NOT NULL DEFAULT 1, |
| 25 | + "proxyNextUpstream" BOOLEAN NOT NULL DEFAULT true, |
| 26 | + "proxyNextUpstreamTimeout" INTEGER NOT NULL DEFAULT 0, |
| 27 | + "proxyNextUpstreamTries" INTEGER NOT NULL DEFAULT 0, |
| 28 | + "healthCheckEnabled" BOOLEAN NOT NULL DEFAULT true, |
| 29 | + "healthCheckInterval" INTEGER NOT NULL DEFAULT 10, |
| 30 | + "healthCheckTimeout" INTEGER NOT NULL DEFAULT 5, |
| 31 | + "healthCheckRises" INTEGER NOT NULL DEFAULT 2, |
| 32 | + "healthCheckFalls" INTEGER NOT NULL DEFAULT 3, |
| 33 | + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, |
| 34 | + "updatedAt" TIMESTAMP(3) NOT NULL, |
| 35 | + |
| 36 | + CONSTRAINT "network_load_balancers_pkey" PRIMARY KEY ("id") |
| 37 | +); |
| 38 | + |
| 39 | +-- CreateTable |
| 40 | +CREATE TABLE "nlb_upstreams" ( |
| 41 | + "id" TEXT NOT NULL, |
| 42 | + "nlbId" TEXT NOT NULL, |
| 43 | + "host" TEXT NOT NULL, |
| 44 | + "port" INTEGER NOT NULL, |
| 45 | + "weight" INTEGER NOT NULL DEFAULT 1, |
| 46 | + "maxFails" INTEGER NOT NULL DEFAULT 3, |
| 47 | + "failTimeout" INTEGER NOT NULL DEFAULT 10, |
| 48 | + "maxConns" INTEGER NOT NULL DEFAULT 0, |
| 49 | + "backup" BOOLEAN NOT NULL DEFAULT false, |
| 50 | + "down" BOOLEAN NOT NULL DEFAULT false, |
| 51 | + "status" "NLBUpstreamStatus" NOT NULL DEFAULT 'checking', |
| 52 | + "lastCheck" TIMESTAMP(3), |
| 53 | + "lastError" TEXT, |
| 54 | + "responseTime" DOUBLE PRECISION, |
| 55 | + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, |
| 56 | + "updatedAt" TIMESTAMP(3) NOT NULL, |
| 57 | + |
| 58 | + CONSTRAINT "nlb_upstreams_pkey" PRIMARY KEY ("id") |
| 59 | +); |
| 60 | + |
| 61 | +-- CreateTable |
| 62 | +CREATE TABLE "nlb_health_checks" ( |
| 63 | + "id" TEXT NOT NULL, |
| 64 | + "nlbId" TEXT NOT NULL, |
| 65 | + "upstreamHost" TEXT NOT NULL, |
| 66 | + "upstreamPort" INTEGER NOT NULL, |
| 67 | + "status" "NLBUpstreamStatus" NOT NULL, |
| 68 | + "responseTime" DOUBLE PRECISION, |
| 69 | + "error" TEXT, |
| 70 | + "checkedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, |
| 71 | + |
| 72 | + CONSTRAINT "nlb_health_checks_pkey" PRIMARY KEY ("id") |
| 73 | +); |
| 74 | + |
| 75 | +-- CreateIndex |
| 76 | +CREATE UNIQUE INDEX "network_load_balancers_name_key" ON "network_load_balancers"("name"); |
| 77 | + |
| 78 | +-- CreateIndex |
| 79 | +CREATE INDEX "network_load_balancers_status_idx" ON "network_load_balancers"("status"); |
| 80 | + |
| 81 | +-- CreateIndex |
| 82 | +CREATE INDEX "network_load_balancers_port_idx" ON "network_load_balancers"("port"); |
| 83 | + |
| 84 | +-- CreateIndex |
| 85 | +CREATE INDEX "nlb_upstreams_nlbId_idx" ON "nlb_upstreams"("nlbId"); |
| 86 | + |
| 87 | +-- CreateIndex |
| 88 | +CREATE INDEX "nlb_upstreams_status_idx" ON "nlb_upstreams"("status"); |
| 89 | + |
| 90 | +-- CreateIndex |
| 91 | +CREATE INDEX "nlb_health_checks_nlbId_checkedAt_idx" ON "nlb_health_checks"("nlbId", "checkedAt"); |
| 92 | + |
| 93 | +-- CreateIndex |
| 94 | +CREATE INDEX "nlb_health_checks_upstreamHost_upstreamPort_idx" ON "nlb_health_checks"("upstreamHost", "upstreamPort"); |
| 95 | + |
| 96 | +-- AddForeignKey |
| 97 | +ALTER TABLE "nlb_upstreams" ADD CONSTRAINT "nlb_upstreams_nlbId_fkey" FOREIGN KEY ("nlbId") REFERENCES "network_load_balancers"("id") ON DELETE CASCADE ON UPDATE CASCADE; |
| 98 | + |
| 99 | +-- AddForeignKey |
| 100 | +ALTER TABLE "nlb_health_checks" ADD CONSTRAINT "nlb_health_checks_nlbId_fkey" FOREIGN KEY ("nlbId") REFERENCES "network_load_balancers"("id") ON DELETE CASCADE ON UPDATE CASCADE; |
0 commit comments