mirror of
https://github.com/cwinfo/powerdns-admin.git
synced 2024-11-08 14:40:27 +00:00
93 lines
3.0 KiB
MySQL
93 lines
3.0 KiB
MySQL
|
PRAGMA foreign_keys = 1;
|
||
|
|
||
|
CREATE TABLE domains (
|
||
|
id INTEGER PRIMARY KEY,
|
||
|
name VARCHAR(255) NOT NULL COLLATE NOCASE,
|
||
|
master VARCHAR(128) DEFAULT NULL,
|
||
|
last_check INTEGER DEFAULT NULL,
|
||
|
type VARCHAR(6) NOT NULL,
|
||
|
notified_serial INTEGER DEFAULT NULL,
|
||
|
account VARCHAR(40) DEFAULT NULL
|
||
|
);
|
||
|
|
||
|
CREATE UNIQUE INDEX name_index ON domains(name);
|
||
|
|
||
|
|
||
|
CREATE TABLE records (
|
||
|
id INTEGER PRIMARY KEY,
|
||
|
domain_id INTEGER DEFAULT NULL,
|
||
|
name VARCHAR(255) DEFAULT NULL,
|
||
|
type VARCHAR(10) DEFAULT NULL,
|
||
|
content VARCHAR(65535) DEFAULT NULL,
|
||
|
ttl INTEGER DEFAULT NULL,
|
||
|
prio INTEGER DEFAULT NULL,
|
||
|
change_date INTEGER DEFAULT NULL,
|
||
|
disabled BOOLEAN DEFAULT 0,
|
||
|
ordername VARCHAR(255),
|
||
|
auth BOOL DEFAULT 1,
|
||
|
FOREIGN KEY(domain_id) REFERENCES domains(id) ON DELETE CASCADE ON UPDATE CASCADE
|
||
|
);
|
||
|
|
||
|
CREATE INDEX rec_name_index ON records(name);
|
||
|
CREATE INDEX nametype_index ON records(name,type);
|
||
|
CREATE INDEX domain_id ON records(domain_id);
|
||
|
CREATE INDEX orderindex ON records(ordername);
|
||
|
|
||
|
|
||
|
CREATE TABLE supermasters (
|
||
|
ip VARCHAR(64) NOT NULL,
|
||
|
nameserver VARCHAR(255) NOT NULL COLLATE NOCASE,
|
||
|
account VARCHAR(40) NOT NULL
|
||
|
);
|
||
|
|
||
|
CREATE UNIQUE INDEX ip_nameserver_pk ON supermasters(ip, nameserver);
|
||
|
|
||
|
|
||
|
CREATE TABLE comments (
|
||
|
id INTEGER PRIMARY KEY,
|
||
|
domain_id INTEGER NOT NULL,
|
||
|
name VARCHAR(255) NOT NULL,
|
||
|
type VARCHAR(10) NOT NULL,
|
||
|
modified_at INT NOT NULL,
|
||
|
account VARCHAR(40) DEFAULT NULL,
|
||
|
comment VARCHAR(65535) NOT NULL,
|
||
|
FOREIGN KEY(domain_id) REFERENCES domains(id) ON DELETE CASCADE ON UPDATE CASCADE
|
||
|
);
|
||
|
|
||
|
CREATE INDEX comments_domain_id_index ON comments (domain_id);
|
||
|
CREATE INDEX comments_nametype_index ON comments (name, type);
|
||
|
CREATE INDEX comments_order_idx ON comments (domain_id, modified_at);
|
||
|
|
||
|
|
||
|
CREATE TABLE domainmetadata (
|
||
|
id INTEGER PRIMARY KEY,
|
||
|
domain_id INT NOT NULL,
|
||
|
kind VARCHAR(32) COLLATE NOCASE,
|
||
|
content TEXT,
|
||
|
FOREIGN KEY(domain_id) REFERENCES domains(id) ON DELETE CASCADE ON UPDATE CASCADE
|
||
|
);
|
||
|
|
||
|
CREATE INDEX domainmetaidindex ON domainmetadata(domain_id);
|
||
|
|
||
|
|
||
|
CREATE TABLE cryptokeys (
|
||
|
id INTEGER PRIMARY KEY,
|
||
|
domain_id INT NOT NULL,
|
||
|
flags INT NOT NULL,
|
||
|
active BOOL,
|
||
|
content TEXT,
|
||
|
FOREIGN KEY(domain_id) REFERENCES domains(id) ON DELETE CASCADE ON UPDATE CASCADE
|
||
|
);
|
||
|
|
||
|
CREATE INDEX domainidindex ON cryptokeys(domain_id);
|
||
|
|
||
|
|
||
|
CREATE TABLE tsigkeys (
|
||
|
id INTEGER PRIMARY KEY,
|
||
|
name VARCHAR(255) COLLATE NOCASE,
|
||
|
algorithm VARCHAR(50) COLLATE NOCASE,
|
||
|
secret VARCHAR(255)
|
||
|
);
|
||
|
|
||
|
CREATE UNIQUE INDEX namealgoindex ON tsigkeys(name, algorithm);
|