2026-02-25 14:37:14 +13:00
|
|
|
-- DirectDNSOnly — CoreDNS MySQL schema
|
|
|
|
|
-- Compatible with cybercinch/coredns_mysql_extend
|
|
|
|
|
--
|
|
|
|
|
-- managed_by values:
|
|
|
|
|
-- 'directadmin' zone is managed via directdnsonly / DirectAdmin push
|
|
|
|
|
-- 'direct' zone was created directly (not via DA)
|
|
|
|
|
-- NULL legacy row created before this column was added
|
|
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS `zones` (
|
|
|
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
|
|
|
`zone_name` varchar(255) NOT NULL,
|
|
|
|
|
`managed_by` varchar(255) DEFAULT NULL,
|
|
|
|
|
PRIMARY KEY (`id`),
|
|
|
|
|
UNIQUE KEY `uq_zone_name` (`zone_name`)
|
|
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
|
|
2026-02-17 16:12:46 +13:00
|
|
|
CREATE TABLE IF NOT EXISTS `records` (
|
2026-02-25 14:37:14 +13:00
|
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
|
|
|
`zone_id` int(11) NOT NULL,
|
|
|
|
|
`hostname` varchar(255) NOT NULL,
|
|
|
|
|
`type` varchar(10) NOT NULL,
|
|
|
|
|
`data` text NOT NULL,
|
|
|
|
|
`ttl` int(11) DEFAULT NULL,
|
|
|
|
|
`online` tinyint(1) NOT NULL DEFAULT 0,
|
2026-02-17 16:12:46 +13:00
|
|
|
PRIMARY KEY (`id`),
|
2026-02-25 14:37:14 +13:00
|
|
|
KEY `idx_zone_id` (`zone_id`),
|
|
|
|
|
KEY `idx_hostname` (`hostname`),
|
|
|
|
|
CONSTRAINT `fk_records_zone` FOREIGN KEY (`zone_id`) REFERENCES `zones` (`id`)
|
|
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
|
|
|
|
|
|
-- Migration: add managed_by to an existing installation
|
|
|
|
|
-- ALTER TABLE `zones` ADD COLUMN `managed_by` varchar(255) DEFAULT NULL;
|
|
|
|
|
-- UPDATE `zones` SET `managed_by` = 'directadmin' WHERE `managed_by` IS NULL;
|