40 lines
1.4 KiB
SQL
40 lines
1.4 KiB
SQL
-- CreateEnum
|
|
CREATE TYPE "ProxySiteStatus" AS ENUM ('pending', 'active', 'error');
|
|
|
|
-- AlterTable
|
|
ALTER TABLE "hosts" ADD COLUMN "caddy_enabled" BOOLEAN NOT NULL DEFAULT false,
|
|
ADD COLUMN "caddy_password" TEXT,
|
|
ADD COLUMN "caddy_port" INTEGER NOT NULL DEFAULT 8444,
|
|
ADD COLUMN "caddy_username" TEXT;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "proxy_sites" (
|
|
"id" SERIAL NOT NULL,
|
|
"instance_id" INTEGER NOT NULL,
|
|
"host_id" INTEGER NOT NULL,
|
|
"domain" TEXT NOT NULL,
|
|
"target_port" INTEGER NOT NULL,
|
|
"status" "ProxySiteStatus" NOT NULL DEFAULT 'pending',
|
|
"enabled" BOOLEAN NOT NULL DEFAULT true,
|
|
"error" TEXT,
|
|
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updated_at" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "proxy_sites_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "proxy_sites_instance_id_idx" ON "proxy_sites"("instance_id");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "proxy_sites_host_id_idx" ON "proxy_sites"("host_id");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "proxy_sites_host_id_domain_key" ON "proxy_sites"("host_id", "domain");
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "proxy_sites" ADD CONSTRAINT "proxy_sites_instance_id_fkey" FOREIGN KEY ("instance_id") REFERENCES "instances"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "proxy_sites" ADD CONSTRAINT "proxy_sites_host_id_fkey" FOREIGN KEY ("host_id") REFERENCES "hosts"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|