]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
gmysql schema update improvements
authorKees Monshouwer <mind04@monshouwer.org>
Thu, 10 Apr 2014 22:32:30 +0000 (00:32 +0200)
committermind04 <mind04@monshouwer.org>
Fri, 11 Apr 2014 18:53:24 +0000 (20:53 +0200)
modules/gmysqlbackend/Makefile.am
modules/gmysqlbackend/dnssec-3.x_to_3.4_schema.mysql.sql [new file with mode: 0644]
modules/gmysqlbackend/nodnssec-3.x_to_3.4_schema.mysql.sql
modules/gmysqlbackend/schema.mysql.sql
pdns/docs/pdns.xml

index c5e48e494f2090d602b76b87e8e2b2950122fbb1..5a8dbf0071720de77409fc9630982afc4ab7cb8a 100644 (file)
@@ -2,7 +2,7 @@ AM_CPPFLAGS=@MYSQL_inc@ @THREADFLAGS@ $(BOOST_CPPFLAGS)
 lib_LTLIBRARIES = libgmysqlbackend.la
 
 EXTRA_DIST=OBJECTFILES OBJECTLIBS \
-       schema.mysql.sql nodnssec-3.x_to_3.4_schema.mysql.sql
+       schema.mysql.sql nodnssec-3.x_to_3.4_schema.mysql.sql dnssec-3.x_to_3.4_schema.mysql.sql
 
 libgmysqlbackend_la_SOURCES=gmysqlbackend.cc gmysqlbackend.hh \
        smysql.hh smysql.cc
diff --git a/modules/gmysqlbackend/dnssec-3.x_to_3.4_schema.mysql.sql b/modules/gmysqlbackend/dnssec-3.x_to_3.4_schema.mysql.sql
new file mode 100644 (file)
index 0000000..a14ea8a
--- /dev/null
@@ -0,0 +1,28 @@
+/* Uncomment next 2 lines for versions <= 3.1 */
+/* DROP INDEX rec_name_index ON records; */
+/* DROP INDEX orderindex ON records; */
+
+ALTER TABLE records ADD disabled TINYINT(1) DEFAULT 0 AFTER change_date;
+ALTER TABLE records MODIFY ordername VARCHAR(255) BINARY DEFAULT NULL;
+ALTER TABLE records MODIFY auth TINYINT(1) DEFAULT 1;
+ALTER TABLE records MODIFY type VARCHAR(10);
+ALTER TABLE supermasters MODIFY ip VARCHAR(64) NOT NULL;
+ALTER TABLE supermasters ADD PRIMARY KEY(ip, nameserver);
+
+CREATE INDEX recordorder ON records (domain_id, ordername);
+
+
+CREATE TABLE comments (
+  id                    INT AUTO_INCREMENT,
+  domain_id             INT NOT NULL,
+  name                  VARCHAR(255) NOT NULL,
+  type                  VARCHAR(10) NOT NULL,
+  modified_at           INT NOT NULL,
+  account               VARCHAR(40) NOT NULL,
+  comment               VARCHAR(64000) NOT NULL,
+  PRIMARY KEY(id)
+) Engine=InnoDB;
+
+CREATE INDEX comments_domain_id_idx ON comments (domain_id);
+CREATE INDEX comments_name_type_idx ON comments (name, type);
+CREATE INDEX comments_order_idx ON comments (domain_id, modified_at);
index 5852d9d3a8c401e553bb8fffa6c00ad495023336..7199ea95c9ca924cd05e896cc7f7b407b811576b 100644 (file)
@@ -1,8 +1,11 @@
-ALTER TABLE domains CHANGE COLUMN type TYPE VARCHAR(6);
+/* Uncomment next line for versions <= 3.1 */
+/* DROP INDEX rec_name_index ON records; */
+
 ALTER TABLE records ADD disabled TINYINT(1) DEFAULT 0;
 ALTER TABLE records ADD ordername VARCHAR(255) BINARY DEFAULT NULL;
 ALTER TABLE records ADD auth TINYINT(1) DEFAULT 1;
-ALTER TABLE records CHANGE COLUMN type TYPE VARCHAR(10);
+ALTER TABLE records MODIFY type VARCHAR(10);
+ALTER TABLE supermasters MODIFY ip VARCHAR(64) NOT NULL;
 ALTER TABLE supermasters ADD PRIMARY KEY(ip, nameserver);
 
 CREATE INDEX recordorder ON records (domain_id, ordername);
index 27afa2b0f9bf6e13f93e7133c7af4ec984d60218..63e3ebfa7233beef688d7df97a7bdae8f38c2e45 100644 (file)
@@ -1,9 +1,9 @@
-create table domains (
+CREATE TABLE domains (
   id                    INT AUTO_INCREMENT,
   name                  VARCHAR(255) NOT NULL,
   master                VARCHAR(128) DEFAULT NULL,
   last_check            INT DEFAULT NULL,
-  type                  VARCHAR(10) NOT NULL,
+  type                  VARCHAR(6) NOT NULL,
   notified_serial       INT DEFAULT NULL,
   account               VARCHAR(40) DEFAULT NULL,
   PRIMARY KEY (id)
@@ -48,7 +48,7 @@ CREATE TABLE comments (
   modified_at           INT NOT NULL,
   account               VARCHAR(40) NOT NULL,
   comment               VARCHAR(64000) NOT NULL,
-  primary key(id)
+  PRIMARY KEY (id)
 ) Engine=InnoDB;
 
 CREATE INDEX comments_domain_id_idx ON comments (domain_id);
index 7321dc2d180164aca14a4caa5e9463b02837a097..affd0d2e82cb503a7021d4cfcf279eff310059a9 100644 (file)
@@ -12457,26 +12457,7 @@ create index recordorder on records (domain_id, ordername text_pattern_ops);
       For gmysql backend with nodnssec schema:
       <programlisting><xi:include  href="../../modules/gmysqlbackend/nodnssec-3.x_to_3.4_schema.mysql.sql"  parse="text"  xmlns:xi="http://www.w3.org/2001/XInclude"/></programlisting>
       For gmysql backend with dnssec schema:
-      <screen>
-ALTER TABLE records ADD disabled BOOLEAN DEFAULT 0;
-ALTER TABLE records MODIFY auth BOOLEAN DEFAULT 1;
-
-
-CREATE TABLE comments (
-  id                    INT AUTO_INCREMENT,
-  domain_id             INT NOT NULL,
-  name                  VARCHAR(255) NOT NULL,
-  type                  VARCHAR(10) NOT NULL,
-  modified_at           INT NOT NULL,
-  account               VARCHAR(40) NOT NULL,
-  comment               VARCHAR(64000) NOT NULL,
-  PRIMARY KEY(id)
-) Engine=InnoDB;
-
-CREATE INDEX comments_domain_id_idx ON comments (domain_id);
-CREATE INDEX comments_name_type_idx ON comments (name, type);
-CREATE INDEX comments_order_idx ON comments (domain_id, modified_at);
-      </screen>
+      <programlisting><xi:include  href="../../modules/gmysqlbackend/dnssec-3.x_to_3.4_schema.mysql.sql"  parse="text"  xmlns:xi="http://www.w3.org/2001/XInclude"/></programlisting>
       For gpgsql backend with nodnssec schema:
       <programlisting><xi:include  href="../../modules/gpgsqlbackend/nodnssec-3.x_to_3.4_schema.pgsql.sql"  parse="text"  xmlns:xi="http://www.w3.org/2001/XInclude"/></programlisting>
       For gpgsql backend with dnssec schema: