From: Kees Monshouwer Date: Sat, 21 Mar 2020 20:41:17 +0000 (+0100) Subject: auth: improve sql schema updates X-Git-Tag: dnsdist-1.5.0-rc1~21^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2af952b486b3bd57e69eeecfed9cd25d6340a361;p=thirdparty%2Fpdns.git auth: improve sql schema updates --- diff --git a/modules/gmysqlbackend/4.2.0_to_4.3.0_schema.mysql.sql b/modules/gmysqlbackend/4.2.0_to_4.3.0_schema.mysql.sql index c1f6cadae0..477760f4cd 100644 --- a/modules/gmysqlbackend/4.2.0_to_4.3.0_schema.mysql.sql +++ b/modules/gmysqlbackend/4.2.0_to_4.3.0_schema.mysql.sql @@ -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 index 0000000000..f84482254d --- /dev/null +++ b/modules/gmysqlbackend/4.3.0-beta2_to_4.3.0_schema.mysql.sql @@ -0,0 +1 @@ +ALTER TABLE cryptokeys MODIFY published BOOL NULL DEFAULT 1 AFTER active; diff --git a/modules/gpgsqlbackend/4.2.0_to_4.3.0_schema.pgsql.sql b/modules/gpgsqlbackend/4.2.0_to_4.3.0_schema.pgsql.sql index f9fa3a84f1..02a27cdf37 100644 --- a/modules/gpgsqlbackend/4.2.0_to_4.3.0_schema.pgsql.sql +++ b/modules/gpgsqlbackend/4.2.0_to_4.3.0_schema.pgsql.sql @@ -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 index 0000000000..15228678ef --- /dev/null +++ b/modules/gpgsqlbackend/4.3.0-beta2_to_4.3.0_schema.pgsql.sql @@ -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; diff --git a/modules/gpgsqlbackend/schema.pgsql.sql b/modules/gpgsqlbackend/schema.pgsql.sql index 3a7534bb81..80735c2e6b 100644 --- a/modules/gpgsqlbackend/schema.pgsql.sql +++ b/modules/gpgsqlbackend/schema.pgsql.sql @@ -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 ); diff --git a/modules/gsqlite3backend/4.2.0_to_4.3.0_schema.sqlite3.sql b/modules/gsqlite3backend/4.2.0_to_4.3.0_schema.sqlite3.sql index d334fecdfc..a6ca8fd3dc 100644 --- a/modules/gsqlite3backend/4.2.0_to_4.3.0_schema.sqlite3.sql +++ b/modules/gsqlite3backend/4.2.0_to_4.3.0_schema.sqlite3.sql @@ -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 index 0000000000..693b4ea9f6 --- /dev/null +++ b/modules/gsqlite3backend/4.3.0-beta2_to_4.3.0_schema.sqlite3.sql @@ -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; diff --git a/pdns/bind-dnssec.4.2.0_to_4.3.0_schema.sqlite3.sql b/pdns/bind-dnssec.4.2.0_to_4.3.0_schema.sqlite3.sql index d334fecdfc..f21fcfaec7 100644 --- a/pdns/bind-dnssec.4.2.0_to_4.3.0_schema.sqlite3.sql +++ b/pdns/bind-dnssec.4.2.0_to_4.3.0_schema.sqlite3.sql @@ -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 index 0000000000..ddd5d0500c --- /dev/null +++ b/pdns/bind-dnssec.4.3.0-beta2_to_4.3.0_schema.sqlite3.sql @@ -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; diff --git a/pdns/bind-dnssec.schema.sqlite3.sql b/pdns/bind-dnssec.schema.sqlite3.sql index d9046bc55c..afef620088 100644 --- a/pdns/bind-dnssec.schema.sqlite3.sql +++ b/pdns/bind-dnssec.schema.sqlite3.sql @@ -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 );