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
--- /dev/null
+/* 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);
-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);
-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)
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);
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: