Skip to content

Instantly share code, notes, and snippets.

@zllovesuki
Created July 25, 2022 02:37
Show Gist options
  • Save zllovesuki/860f229b6c6bd5fec44832bc0acd1c16 to your computer and use it in GitHub Desktop.
Save zllovesuki/860f229b6c6bd5fec44832bc0acd1c16 to your computer and use it in GitHub Desktop.
CREATE TABLE IF NOT EXISTS `domains` (
id INT AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
master VARCHAR(128) DEFAULT NULL,
last_check INT DEFAULT NULL,
type VARCHAR(6) NOT NULL,
notified_serial INT UNSIGNED DEFAULT NULL,
account VARCHAR(40) DEFAULT NULL,
PRIMARY KEY (id),
UNIQUE INDEX `name_index` (`name`)
) Engine=InnoDB CHARACTER SET 'latin1';
-- CREATE UNIQUE INDEX name_index ON domains(name);
CREATE TABLE IF NOT EXISTS `records` (
id BIGINT AUTO_INCREMENT,
domain_id INT DEFAULT NULL,
name VARCHAR(255) DEFAULT NULL,
type VARCHAR(10) DEFAULT NULL,
content TEXT DEFAULT NULL,
ttl INT DEFAULT NULL,
prio INT DEFAULT NULL,
disabled TINYINT(1) DEFAULT 0,
ordername VARCHAR(255) DEFAULT NULL,
auth TINYINT(1) DEFAULT 1,
PRIMARY KEY (id),
INDEX `nametype_index` (`name`, `type`),
INDEX `domain_id` (`domain_id`),
INDEX `ordername` (`ordername`)
) Engine=InnoDB CHARACTER SET 'latin1';
-- CREATE INDEX nametype_index ON records(name,type);
-- CREATE INDEX domain_id ON records(domain_id);
-- CREATE INDEX ordername ON records (ordername);
CREATE TABLE IF NOT EXISTS `supermasters` (
ip VARCHAR(64) NOT NULL,
nameserver VARCHAR(255) NOT NULL,
account VARCHAR(40) NOT NULL,
PRIMARY KEY (ip, nameserver)
) Engine=InnoDB CHARACTER SET 'latin1';
CREATE TABLE IF NOT EXISTS `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) DEFAULT NULL,
comment TEXT NOT NULL,
PRIMARY KEY (id),
INDEX `comments_name_type_idx` (`name`, `type`),
INDEX `comments_order_idx` (`domain_id`, `modified_at`)
) Engine=InnoDB CHARACTER SET 'latin1';
-- CREATE INDEX comments_name_type_idx ON comments (name, type);
-- CREATE INDEX comments_order_idx ON comments (domain_id, modified_at);
CREATE TABLE IF NOT EXISTS `domainmetadata` (
id INT AUTO_INCREMENT,
domain_id INT NOT NULL,
kind VARCHAR(32),
content TEXT,
PRIMARY KEY (id),
INDEX `domainmetadata_idx` (`domain_id`, `kind`)
) Engine=InnoDB CHARACTER SET 'latin1';
-- CREATE INDEX domainmetadata_idx ON domainmetadata (domain_id, kind);
CREATE TABLE IF NOT EXISTS `cryptokeys` (
id INT AUTO_INCREMENT,
domain_id INT NOT NULL,
flags INT NOT NULL,
active BOOL,
published BOOL DEFAULT 1,
content TEXT,
PRIMARY KEY(id),
INDEX `domainidindex` (`domain_id`)
) Engine=InnoDB CHARACTER SET 'latin1';
-- CREATE INDEX domainidindex ON cryptokeys(domain_id);
CREATE TABLE IF NOT EXISTS `tsigkeys` (
id INT AUTO_INCREMENT,
name VARCHAR(255),
algorithm VARCHAR(50),
secret VARCHAR(255),
PRIMARY KEY (id),
UNIQUE INDEX `namealgoindex` (`name`, `algorithm`)
) Engine=InnoDB CHARACTER SET 'latin1';
-- CREATE UNIQUE INDEX namealgoindex ON tsigkeys(name, algorithm);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment