]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
auth: improve sql schema updates
authorKees Monshouwer <mind04@monshouwer.org>
Sat, 21 Mar 2020 20:41:17 +0000 (21:41 +0100)
committermind04 <mind04@monshouwer.org>
Thu, 26 Mar 2020 21:14:06 +0000 (22:14 +0100)
modules/gmysqlbackend/4.2.0_to_4.3.0_schema.mysql.sql
modules/gmysqlbackend/4.3.0-beta2_to_4.3.0_schema.mysql.sql [new file with mode: 0644]
modules/gpgsqlbackend/4.2.0_to_4.3.0_schema.pgsql.sql
modules/gpgsqlbackend/4.3.0-beta2_to_4.3.0_schema.pgsql.sql [new file with mode: 0644]
modules/gpgsqlbackend/schema.pgsql.sql
modules/gsqlite3backend/4.2.0_to_4.3.0_schema.sqlite3.sql
modules/gsqlite3backend/4.3.0-beta2_to_4.3.0_schema.sqlite3.sql [new file with mode: 0644]
pdns/bind-dnssec.4.2.0_to_4.3.0_schema.sqlite3.sql
pdns/bind-dnssec.4.3.0-beta2_to_4.3.0_schema.sqlite3.sql [new file with mode: 0644]
pdns/bind-dnssec.schema.sqlite3.sql

index c1f6cadae02b4c02a0d47577914a6f5bb4464ddd..477760f4cde623c737c414b281c1cafa3a431396 100644 (file)
@@ -1,2 +1 @@
-ALTER TABLE cryptokeys ADD COLUMN published BOOL DEFAULT 1;
-
+ALTER TABLE cryptokeys ADD published BOOL NULL DEFAULT 1 AFTER active;
diff --git a/modules/gmysqlbackend/4.3.0-beta2_to_4.3.0_schema.mysql.sql b/modules/gmysqlbackend/4.3.0-beta2_to_4.3.0_schema.mysql.sql
new file mode 100644 (file)
index 0000000..f844822
--- /dev/null
@@ -0,0 +1 @@
+ALTER TABLE cryptokeys MODIFY published BOOL NULL DEFAULT 1 AFTER active;
index f9fa3a84f16b178f9874293559fefa0d884705a6..02a27cdf378616ce8d45bea190cc95ddeed07167 100644 (file)
@@ -1 +1,8 @@
-ALTER TABLE cryptokeys ADD COLUMN published BOOL DEFAULT true;
+BEGIN;
+  ALTER TABLE cryptokeys ADD COLUMN published BOOL DEFAULT TRUE;
+
+  ALTER TABLE cryptokeys ADD COLUMN content_new TEXT;
+  UPDATE cryptokeys SET content_new = content;
+  ALTER TABLE cryptokeys DROP COLUMN content;
+  ALTER TABLE cryptokeys RENAME COLUMN content_new TO content;
+COMMIT;
diff --git a/modules/gpgsqlbackend/4.3.0-beta2_to_4.3.0_schema.pgsql.sql b/modules/gpgsqlbackend/4.3.0-beta2_to_4.3.0_schema.pgsql.sql
new file mode 100644 (file)
index 0000000..1522867
--- /dev/null
@@ -0,0 +1,6 @@
+BEGIN;
+  ALTER TABLE cryptokeys ADD COLUMN content_new TEXT;
+  UPDATE cryptokeys SET content_new = content;
+  ALTER TABLE cryptokeys DROP COLUMN content;
+  ALTER TABLE cryptokeys RENAME COLUMN content_new TO content;
+COMMIT;
index 3a7534bb8166923ac4c6a35c5e7fd540ca0673b9..80735c2e6b41c396c11908da6686a30a89568bf7 100644 (file)
@@ -77,7 +77,7 @@ CREATE TABLE cryptokeys (
   domain_id             INT REFERENCES domains(id) ON DELETE CASCADE,
   flags                 INT NOT NULL,
   active                BOOL,
-  published             BOOL DEFAULT true,
+  published             BOOL DEFAULT TRUE,
   content               TEXT
 );
 
index d334fecdfccc953866dfefc967c25178e2b19e11..a6ca8fd3dcf12c3a106c021ffd5d6381e5e988a5 100644 (file)
@@ -1 +1,17 @@
-ALTER TABLE cryptokeys ADD published BOOL DEFAULT 1;
+BEGIN TRANSACTION;
+  CREATE TABLE cryptokeys_temp (
+    id                  INTEGER PRIMARY KEY,
+    domain_id           INT NOT NULL,
+    flags               INT NOT NULL,
+    active              BOOL,
+    published           BOOL DEFAULT 1,
+    content             TEXT,
+    FOREIGN KEY(domain_id) REFERENCES domains(id) ON DELETE CASCADE ON UPDATE CASCADE
+  );
+
+  INSERT INTO cryptokeys_temp SELECT id,domain_id,flags,active,1,content FROM cryptokeys;
+  DROP TABLE cryptokeys;
+  ALTER TABLE cryptokeys_temp RENAME TO cryptokeys;
+
+  CREATE INDEX domainidindex ON cryptokeys(domain_id);
+COMMIT;
diff --git a/modules/gsqlite3backend/4.3.0-beta2_to_4.3.0_schema.sqlite3.sql b/modules/gsqlite3backend/4.3.0-beta2_to_4.3.0_schema.sqlite3.sql
new file mode 100644 (file)
index 0000000..693b4ea
--- /dev/null
@@ -0,0 +1,17 @@
+BEGIN TRANSACTION;
+  CREATE TABLE cryptokeys_temp (
+    id                  INTEGER PRIMARY KEY,
+    domain_id           INT NOT NULL,
+    flags               INT NOT NULL,
+    active              BOOL,
+    published           BOOL DEFAULT 1,
+    content             TEXT,
+    FOREIGN KEY(domain_id) REFERENCES domains(id) ON DELETE CASCADE ON UPDATE CASCADE
+  );
+
+  INSERT INTO cryptokeys_temp SELECT id,domain_id,flags,active,published,content FROM cryptokeys;
+  DROP TABLE cryptokeys;
+  ALTER TABLE cryptokeys_temp RENAME TO cryptokeys;
+
+  CREATE INDEX domainidindex ON cryptokeys(domain_id);
+COMMIT;
index d334fecdfccc953866dfefc967c25178e2b19e11..f21fcfaec74d58edc3c969ad43033a8df627177a 100644 (file)
@@ -1 +1,16 @@
-ALTER TABLE cryptokeys ADD published BOOL DEFAULT 1;
+BEGIN TRANSACTION;
+  CREATE TABLE cryptokeys_temp (
+    id                  INTEGER PRIMARY KEY,
+    domain              VARCHAR(255) COLLATE NOCASE,
+    flags               INT NOT NULL,
+    active              BOOL,
+    published           BOOL DEFAULT 1,
+    content             TEXT
+  );
+
+  INSERT INTO cryptokeys_temp SELECT id,domain,flags,active,1,content FROM cryptokeys;
+  DROP TABLE cryptokeys;
+  ALTER TABLE cryptokeys_temp RENAME TO cryptokeys;
+
+  CREATE INDEX domainnameindex ON cryptokeys(domain);
+COMMIT;
diff --git a/pdns/bind-dnssec.4.3.0-beta2_to_4.3.0_schema.sqlite3.sql b/pdns/bind-dnssec.4.3.0-beta2_to_4.3.0_schema.sqlite3.sql
new file mode 100644 (file)
index 0000000..ddd5d05
--- /dev/null
@@ -0,0 +1,16 @@
+BEGIN TRANSACTION;
+  CREATE TABLE cryptokeys_temp (
+    id                  INTEGER PRIMARY KEY,
+    domain              VARCHAR(255) COLLATE NOCASE,
+    flags               INT NOT NULL,
+    active              BOOL,
+    published           BOOL DEFAULT 1,
+    content             TEXT
+  );
+
+  INSERT INTO cryptokeys_temp SELECT id,domain,flags,active,published,content FROM cryptokeys;
+  DROP TABLE cryptokeys;
+  ALTER TABLE cryptokeys_temp RENAME TO cryptokeys;
+
+  CREATE INDEX domainnameindex ON cryptokeys(domain);
+COMMIT;
index d9046bc55c35a9b36b39a6cc85f6791d486b2c6a..afef620088d4f0ca4e3d71c18d1ebd605918650b 100644 (file)
@@ -12,7 +12,7 @@ create table cryptokeys (
  domain     VARCHAR(255) COLLATE NOCASE,
  flags      INT NOT NULL,
  active     BOOL,
- published  BOOL,
+ published  BOOL DEFAULT 1,
  content    TEXT
 );