From 88f3953f924309e2ff2155a790abe623c155e1b6 Mon Sep 17 00:00:00 2001 From: Jamie Curnow Date: Tue, 30 May 2023 21:18:12 +1000 Subject: [PATCH] Use null for optional foreign keys --- .../migrations/mysql/20201013035318_initial_schema.sql | 10 +++++----- .../postgres/20201013035318_initial_schema.sql | 6 +++--- .../sqlite/20201013035318_initial_schema.sql | 6 +++--- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/backend/embed/migrations/mysql/20201013035318_initial_schema.sql b/backend/embed/migrations/mysql/20201013035318_initial_schema.sql index a88ded0..9cfa38a 100644 --- a/backend/embed/migrations/mysql/20201013035318_initial_schema.sql +++ b/backend/embed/migrations/mysql/20201013035318_initial_schema.sql @@ -104,7 +104,7 @@ CREATE TABLE IF NOT EXISTS `dns_provider` FOREIGN KEY (`user_id`) REFERENCES `user`(`id`) ON DELETE CASCADE ); -CREATE TABLE IF NOT EXISTS certificate +CREATE TABLE IF NOT EXISTS `certificate` ( `id` INT AUTO_INCREMENT PRIMARY KEY, `created_at` BIGINT NOT NULL DEFAULT 0, @@ -112,7 +112,7 @@ CREATE TABLE IF NOT EXISTS certificate `is_deleted` INT NOT NULL DEFAULT 0, -- int on purpose, gormism `user_id` INT NOT NULL, `type` VARCHAR(50) NOT NULL, -- custom,dns,http - `certificate_authority_id` INT, -- 0 for a custom cert + `certificate_authority_id` INT, -- null for a custom cert `dns_provider_id` INT, -- 0, for a http or custom cert `name` VARCHAR(50) NOT NULL, `domain_names` TEXT NOT NULL, @@ -216,12 +216,12 @@ CREATE TABLE IF NOT EXISTS host `nginx_template_id` INT NOT NULL, `listen_interface` VARCHAR(50) NOT NULL DEFAULT '', `domain_names` TEXT NOT NULL, - `upstream_id` INT NOT NULL DEFAULT 0, + `upstream_id` INT, `proxy_scheme` VARCHAR(50) NOT NULL DEFAULT '', `proxy_host` VARCHAR(50) NOT NULL DEFAULT '', `proxy_port` INT NOT NULL DEFAULT 0, - `certificate_id` INT NOT NULL DEFAULT 0, - `access_list_id` INT NOT NULL DEFAULT 0, + `certificate_id` INT, + `access_list_id` INT, `ssl_forced` BOOLEAN NOT NULL DEFAULT FALSE, `caching_enabled` BOOLEAN NOT NULL DEFAULT FALSE, `block_exploits` BOOLEAN NOT NULL DEFAULT FALSE, diff --git a/backend/embed/migrations/postgres/20201013035318_initial_schema.sql b/backend/embed/migrations/postgres/20201013035318_initial_schema.sql index 6905b70..1404e76 100644 --- a/backend/embed/migrations/postgres/20201013035318_initial_schema.sql +++ b/backend/embed/migrations/postgres/20201013035318_initial_schema.sql @@ -187,12 +187,12 @@ CREATE TABLE "host" ( "nginx_template_id" INTEGER NOT NULL REFERENCES "nginx_template"("id") ON DELETE CASCADE, "listen_interface" TEXT NOT NULL DEFAULT '', "domain_names" TEXT NOT NULL, - "upstream_id" INTEGER NOT NULL DEFAULT 0 REFERENCES "upstream"("id") ON DELETE CASCADE, + "upstream_id" INTEGER REFERENCES "upstream"("id") ON DELETE CASCADE, "proxy_scheme" TEXT NOT NULL DEFAULT '', "proxy_host" TEXT NOT NULL DEFAULT '', "proxy_port" INTEGER NOT NULL DEFAULT 0, - "certificate_id" INTEGER NOT NULL DEFAULT 0 REFERENCES "certificate"("id") ON DELETE CASCADE, - "access_list_id" INTEGER NOT NULL DEFAULT 0 REFERENCES "access_list"("id") ON DELETE CASCADE, + "certificate_id" INTEGER REFERENCES "certificate"("id") ON DELETE CASCADE, + "access_list_id" INTEGER REFERENCES "access_list"("id") ON DELETE CASCADE, "ssl_forced" BOOLEAN NOT NULL DEFAULT FALSE, "caching_enabled" BOOLEAN NOT NULL DEFAULT FALSE, "block_exploits" BOOLEAN NOT NULL DEFAULT FALSE, diff --git a/backend/embed/migrations/sqlite/20201013035318_initial_schema.sql b/backend/embed/migrations/sqlite/20201013035318_initial_schema.sql index 8862c53..48c91ba 100644 --- a/backend/embed/migrations/sqlite/20201013035318_initial_schema.sql +++ b/backend/embed/migrations/sqlite/20201013035318_initial_schema.sql @@ -216,12 +216,12 @@ CREATE TABLE IF NOT EXISTS `host` nginx_template_id INTEGER NOT NULL, listen_interface TEXT NOT NULL DEFAULT "", domain_names TEXT NOT NULL, - upstream_id INTEGER NOT NULL DEFAULT 0, + upstream_id INTEGER, proxy_scheme TEXT NOT NULL DEFAULT "", proxy_host TEXT NOT NULL DEFAULT "", proxy_port INTEGER NOT NULL DEFAULT 0, - certificate_id INTEGER NOT NULL DEFAULT 0, - access_list_id INTEGER NOT NULL DEFAULT 0, + certificate_id INTEGER, + access_list_id INTEGER, ssl_forced INTEGER NOT NULL DEFAULT 0, caching_enabled INTEGER NOT NULL DEFAULT 0, block_exploits INTEGER NOT NULL DEFAULT 0,