-- -------------------------------------------------------- -- Server version: 10.11.6-MariaDB-0+deb12u1 - Debian 12 -- Server OS: debian-linux-gnu -- -------------------------------------------------------- /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET NAMES utf8 */; /*!50503 SET NAMES utf8mb4 */; /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; /*!40103 SET TIME_ZONE='+00:00' */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; -- Dumping database structure for djmixhostingsoftware DROP DATABASE IF EXISTS `djmixhostingsoftware`; CREATE DATABASE IF NOT EXISTS `djmixhostingsoftware` /*!40100 DEFAULT CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci */; USE `djmixhostingsoftware`; -- Dumping structure for table djmixhostingsoftware.djs DROP TABLE IF EXISTS `djs`; CREATE TABLE IF NOT EXISTS `djs` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` longtext NOT NULL, `bio` longtext DEFAULT NULL, `slug` longtext NOT NULL, `img` longtext DEFAULT NULL, `active` tinyint(1) unsigned DEFAULT NULL, `deceased` tinyint(1) unsigned DEFAULT NULL, `email` varchar(300) DEFAULT NULL, `enabled` tinyint(4) NOT NULL DEFAULT 0, `status` tinyint(4) DEFAULT NULL, `facebook_url` varchar(50) DEFAULT NULL, `instagram_url` varchar(50) DEFAULT NULL, `myspace_url` varchar(50) DEFAULT NULL, `custom1_url` varchar(200) DEFAULT NULL, `homepage_url` varchar(200) DEFAULT NULL, `twitter_url` varchar(50) DEFAULT NULL, `linktree_url` varchar(50) DEFAULT NULL, `soundcloud_url` varchar(50) DEFAULT NULL, `mixcloud_url` varchar(50) DEFAULT NULL, `socials` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`socials`)), `claimed_by` varchar(50) DEFAULT NULL, `count` int(11) DEFAULT NULL, `created` timestamp NOT NULL DEFAULT current_timestamp(), `lastupdated` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=903 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci COMMENT='The DJ database.'; -- Data exporting was unselected. -- Dumping structure for table djmixhostingsoftware.emails DROP TABLE IF EXISTS `emails`; CREATE TABLE IF NOT EXISTS `emails` ( `id` int(11) NOT NULL AUTO_INCREMENT, `messageId` varchar(75) DEFAULT NULL, `sender` varchar(128) DEFAULT NULL, `recipients` text DEFAULT NULL, `subject` text DEFAULT NULL, `bodyText` text DEFAULT NULL, `bodyHTML` text DEFAULT NULL, `error` text DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `messageId` (`messageId`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci; -- Data exporting was unselected. -- Dumping structure for table djmixhostingsoftware.errors DROP TABLE IF EXISTS `errors`; CREATE TABLE IF NOT EXISTS `errors` ( `id` int(6) unsigned NOT NULL AUTO_INCREMENT, `error` varchar(255) DEFAULT NULL, `url` varchar(255) DEFAULT NULL, `useragent` varchar(255) DEFAULT NULL, `server` varchar(255) DEFAULT NULL, `ip` varchar(255) DEFAULT NULL, `time` varchar(255) DEFAULT NULL, `querystring` varchar(255) DEFAULT NULL, `requesturi` varchar(255) DEFAULT NULL, `scriptname` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=9143 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci; -- Data exporting was unselected. -- Dumping structure for table djmixhostingsoftware.genres DROP TABLE IF EXISTS `genres`; CREATE TABLE IF NOT EXISTS `genres` ( `item` int(11) unsigned NOT NULL AUTO_INCREMENT, `id` int(11) unsigned NOT NULL, `enabled` int(11) unsigned NOT NULL DEFAULT 1, `count` int(11) unsigned NOT NULL DEFAULT 0, `name` varchar(50) NOT NULL, `slug` varchar(50) NOT NULL, PRIMARY KEY (`item`), UNIQUE KEY `slug` (`slug`) ) ENGINE=InnoDB AUTO_INCREMENT=236 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci COMMENT='The Genre Database.'; -- Data exporting was unselected. -- Dumping structure for table djmixhostingsoftware.mix DROP TABLE IF EXISTS `mix`; CREATE TABLE IF NOT EXISTS `mix` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `title` varchar(200) NOT NULL, `slug` varchar(50) NOT NULL, `description` varchar(500) DEFAULT NULL, `cover` varchar(150) DEFAULT NULL, `url` varchar(200) NOT NULL, `seconds` int(10) unsigned DEFAULT NULL, `mediaplayer` int(11) unsigned DEFAULT NULL, `dj1` int(11) unsigned NOT NULL, `dj2` int(11) unsigned DEFAULT NULL, `dj3` int(11) unsigned DEFAULT NULL, `pending` tinyint(4) unsigned NOT NULL DEFAULT 1, `recorded` timestamp NULL DEFAULT NULL, `created` timestamp NULL DEFAULT current_timestamp(), `lastupdated` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), PRIMARY KEY (`id`), UNIQUE KEY `slug` (`slug`) ) ENGINE=InnoDB AUTO_INCREMENT=1153 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci; -- Data exporting was unselected. -- Dumping structure for table djmixhostingsoftware.mix_file DROP TABLE IF EXISTS `mix_file`; CREATE TABLE IF NOT EXISTS `mix_file` ( `id` varchar(50) NOT NULL DEFAULT uuid(), `filename` varchar(100) NOT NULL, `seconds` int(11) unsigned NOT NULL, `mime` varchar(50) NOT NULL, `hash` char(50) NOT NULL, `created` timestamp NOT NULL DEFAULT current_timestamp(), `lastupdated` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), KEY `id` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci; -- Data exporting was unselected. -- Dumping structure for table djmixhostingsoftware.mix_meta DROP TABLE IF EXISTS `mix_meta`; CREATE TABLE IF NOT EXISTS `mix_meta` ( `meta_id` int(11) unsigned NOT NULL AUTO_INCREMENT, `mix_id` int(11) unsigned NOT NULL, `attribute` longtext NOT NULL, `value` longtext NOT NULL, `created` timestamp NOT NULL DEFAULT current_timestamp(), `updated` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), PRIMARY KEY (`meta_id`), KEY `mixId` (`mix_id`) ) ENGINE=InnoDB AUTO_INCREMENT=3987 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci; -- Data exporting was unselected. -- Dumping structure for table djmixhostingsoftware.plays DROP TABLE IF EXISTS `plays`; CREATE TABLE IF NOT EXISTS `plays` ( `id` int(11) NOT NULL AUTO_INCREMENT, `mix_id` int(11) unsigned NOT NULL, `ip` varchar(100) NOT NULL, `created` timestamp NULL DEFAULT current_timestamp(), `updated` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=5344 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci COMMENT='Implemented 2023/04/09 at 12:01 AM'; -- Data exporting was unselected. -- Dumping structure for table djmixhostingsoftware.ratings DROP TABLE IF EXISTS `ratings`; CREATE TABLE IF NOT EXISTS `ratings` ( `id` char(36) NOT NULL DEFAULT uuid(), `mixId` int(10) unsigned NOT NULL, `guid` char(36) NOT NULL DEFAULT '0', `rating` int(1) unsigned NOT NULL DEFAULT 5, `created` timestamp NOT NULL DEFAULT current_timestamp(), `updated` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), PRIMARY KEY (`id`), UNIQUE KEY `mixId_guid` (`mixId`,`guid`), KEY `guid` (`guid`), CONSTRAINT `guid` FOREIGN KEY (`guid`) REFERENCES `users` (`guid`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `Rating` CHECK (`rating` >= 1 and `rating` <= 5) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci; -- Data exporting was unselected. -- Dumping structure for table djmixhostingsoftware.release DROP TABLE IF EXISTS `release`; CREATE TABLE IF NOT EXISTS `release` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` longtext NOT NULL, `description` longtext DEFAULT NULL, `cover` int(11) NOT NULL, `lastupdated` datetime DEFAULT NULL, `created` datetime DEFAULT NULL, `slug` longtext DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci; -- Data exporting was unselected. -- Dumping structure for table djmixhostingsoftware.release_meta DROP TABLE IF EXISTS `release_meta`; CREATE TABLE IF NOT EXISTS `release_meta` ( `id` int(11) NOT NULL AUTO_INCREMENT, `release_id` int(11) NOT NULL, `mix_id` int(11) NOT NULL, `sortorder` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci; -- Data exporting was unselected. -- Dumping structure for table djmixhostingsoftware.shows DROP TABLE IF EXISTS `shows`; CREATE TABLE IF NOT EXISTS `shows` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` longtext NOT NULL, `description` longtext DEFAULT NULL, `cover` longtext DEFAULT NULL, `slug` longtext DEFAULT NULL, `count` int(11) DEFAULT NULL, `created` datetime DEFAULT current_timestamp(), `lastupdated` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp(), PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci; -- Data exporting was unselected. -- Dumping structure for table djmixhostingsoftware.stats DROP TABLE IF EXISTS `stats`; CREATE TABLE IF NOT EXISTS `stats` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `uuid` varchar(50) NOT NULL DEFAULT uuid(), `timestamp` timestamp NOT NULL DEFAULT current_timestamp(), `djs` int(11) NOT NULL, `mixes` int(11) NOT NULL, `genres` int(11) NOT NULL, `mixshows` int(11) NOT NULL, `downloads` int(11) NOT NULL, `plays` int(11) NOT NULL, `seconds` bigint(20) NOT NULL, PRIMARY KEY (`uuid`) USING BTREE, KEY `id` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=420 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci; -- Data exporting was unselected. -- Dumping structure for table djmixhostingsoftware.users DROP TABLE IF EXISTS `users`; CREATE TABLE IF NOT EXISTS `users` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `guid` char(36) NOT NULL DEFAULT uuid(), `username` varchar(25) NOT NULL, `firstName` varchar(50) DEFAULT NULL, `lastName` varchar(50) DEFAULT NULL, `email` varchar(200) NOT NULL, `emailVerified` tinyint(1) NOT NULL DEFAULT 0, `password` varchar(255) NOT NULL, `img` varchar(500) DEFAULT NULL, `apiKey` varchar(64) DEFAULT NULL, `created` timestamp NOT NULL DEFAULT current_timestamp(), `lastupdated` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), `isAdmin` tinyint(1) unsigned DEFAULT 0, PRIMARY KEY (`id`), UNIQUE KEY `guid` (`guid`), UNIQUE KEY `username` (`username`), UNIQUE KEY `email` (`email`), UNIQUE KEY `apiKey` (`apiKey`) ) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci; -- Data exporting was unselected. -- Dumping structure for trigger djmixhostingsoftware.dj_insert_trigger DROP TRIGGER IF EXISTS `dj_insert_trigger`; SET @OLDTMP_SQL_MODE=@@SQL_MODE, SQL_MODE='ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; DELIMITER // CREATE TRIGGER `dj_insert_trigger` BEFORE INSERT ON `djs` FOR EACH ROW BEGIN SET NEW.email = IFNULL(NULLIF(NEW.email, ''), NULL); SET NEW.facebook_url = IFNULL(NULLIF(NEW.facebook_url, ''), NULL); SET NEW.instagram_url = IFNULL(NULLIF(NEW.instagram_url, ''), NULL); SET NEW.myspace_url = IFNULL(NULLIF(NEW.myspace_url, ''), NULL); SET NEW.custom1_url = IFNULL(NULLIF(NEW.custom1_url, ''), NULL); SET NEW.homepage_url = IFNULL(NULLIF(NEW.homepage_url, ''), NULL); SET NEW.twitter_url = IFNULL(NULLIF(NEW.twitter_url, ''), NULL); SET NEW.bio = IFNULL(NULLIF(NEW.bio, ''), NULL); SET NEW.img = IFNULL(NULLIF(NEW.img, ''), NULL); SET NEW.linktree_url = IFNULL(NULLIF(NEW.linktree_url, ''), NULL); SET NEW.soundcloud_url = IFNULL(NULLIF(NEW.soundcloud_url, ''), NULL); SET NEW.mixcloud_url = IFNULL(NULLIF(NEW.mixcloud_url, ''), NULL); SET NEW.claimed_by = IFNULL(NULLIF(NEW.claimed_by, ''), NULL); END// DELIMITER ; SET SQL_MODE=@OLDTMP_SQL_MODE; -- Dumping structure for trigger djmixhostingsoftware.dj_update_trigger DROP TRIGGER IF EXISTS `dj_update_trigger`; SET @OLDTMP_SQL_MODE=@@SQL_MODE, SQL_MODE='ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; DELIMITER // CREATE TRIGGER `dj_update_trigger` BEFORE UPDATE ON `djs` FOR EACH ROW BEGIN SET NEW.email = IFNULL(NULLIF(NEW.email, ''), NULL); SET NEW.facebook_url = IFNULL(NULLIF(NEW.facebook_url, ''), NULL); SET NEW.instagram_url = IFNULL(NULLIF(NEW.instagram_url, ''), NULL); SET NEW.myspace_url = IFNULL(NULLIF(NEW.myspace_url, ''), NULL); SET NEW.custom1_url = IFNULL(NULLIF(NEW.custom1_url, ''), NULL); SET NEW.homepage_url = IFNULL(NULLIF(NEW.homepage_url, ''), NULL); SET NEW.twitter_url = IFNULL(NULLIF(NEW.twitter_url, ''), NULL); SET NEW.linktree_url = IFNULL(NULLIF(NEW.linktree_url, ''), NULL); SET NEW.soundcloud_url = IFNULL(NULLIF(NEW.soundcloud_url, ''), NULL); SET NEW.mixcloud_url = IFNULL(NULLIF(NEW.mixcloud_url, ''), NULL); SET NEW.claimed_by = IFNULL(NULLIF(NEW.claimed_by, ''), NULL); SET NEW.bio = IFNULL(NULLIF(NEW.bio, ''), NULL); SET NEW.img = IFNULL(NULLIF(NEW.img, ''), NULL); END// DELIMITER ; SET SQL_MODE=@OLDTMP_SQL_MODE; -- Dumping structure for trigger djmixhostingsoftware.email_change DROP TRIGGER IF EXISTS `email_change`; SET @OLDTMP_SQL_MODE=@@SQL_MODE, SQL_MODE='ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; DELIMITER // CREATE TRIGGER email_change BEFORE UPDATE ON users FOR EACH ROW BEGIN IF NEW.email <> OLD.email THEN SET NEW.emailVerified = 0; END IF; END// DELIMITER ; SET SQL_MODE=@OLDTMP_SQL_MODE; -- Dumping structure for trigger djmixhostingsoftware.mix_before_update DROP TRIGGER IF EXISTS `mix_before_update`; SET @OLDTMP_SQL_MODE=@@SQL_MODE, SQL_MODE='ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; DELIMITER // CREATE TRIGGER mix_before_update BEFORE UPDATE ON mix FOR EACH ROW BEGIN IF NEW.description = '' THEN SET NEW.description = NULL; END IF; IF NEW.cover = '' THEN SET NEW.cover = NULL; END IF; END// DELIMITER ; SET SQL_MODE=@OLDTMP_SQL_MODE; -- Dumping structure for trigger djmixhostingsoftware.mix_recorded_before_update DROP TRIGGER IF EXISTS `mix_recorded_before_update`; SET @OLDTMP_SQL_MODE=@@SQL_MODE, SQL_MODE='ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; DELIMITER // CREATE TRIGGER mix_recorded_before_update BEFORE UPDATE ON mix FOR EACH ROW BEGIN IF NEW.recorded = '0000-00-00 00:00:00' THEN SET NEW.recorded = NULL; END IF; END// DELIMITER ; SET SQL_MODE=@OLDTMP_SQL_MODE; -- Dumping structure for trigger djmixhostingsoftware.tracklist_trim_insert DROP TRIGGER IF EXISTS `tracklist_trim_insert`; SET @OLDTMP_SQL_MODE=@@SQL_MODE, SQL_MODE='ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; DELIMITER // CREATE TRIGGER tracklist_trim_insert BEFORE INSERT ON mix_meta FOR EACH ROW BEGIN IF NEW.attribute = 'tracklist' THEN SET NEW.value = REGEXP_REPLACE(NEW.value, '^(\\s*(\\r\\n|\\r|\\n))+|(\\s*(\\r\\n|\\r|\\n))+$', ''); SET NEW.value = REGEXP_REPLACE(NEW.value, '(\\r\\n\\s*){2,}|(\\n\\s*){2,}', '\r\n\r\n'); END IF; END// DELIMITER ; SET SQL_MODE=@OLDTMP_SQL_MODE; -- Dumping structure for trigger djmixhostingsoftware.tracklist_trim_update DROP TRIGGER IF EXISTS `tracklist_trim_update`; SET @OLDTMP_SQL_MODE=@@SQL_MODE, SQL_MODE='ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; DELIMITER // CREATE TRIGGER tracklist_trim_update BEFORE UPDATE ON mix_meta FOR EACH ROW BEGIN IF NEW.attribute = 'tracklist' THEN SET NEW.value = REGEXP_REPLACE(NEW.value, '^(\\s*(\\r\\n|\\r|\\n))+|(\\s*(\\r\\n|\\r|\\n))+$', ''); SET NEW.value = REGEXP_REPLACE(NEW.value, '(\\r\\n\\s*){2,}|(\\n\\s*){2,}', '\r\n\r\n'); END IF; END// DELIMITER ; SET SQL_MODE=@OLDTMP_SQL_MODE; /*!40103 SET TIME_ZONE=IFNULL(@OLD_TIME_ZONE, 'system') */; /*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */; /*!40014 SET FOREIGN_KEY_CHECKS=IFNULL(@OLD_FOREIGN_KEY_CHECKS, 1) */; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40111 SET SQL_NOTES=IFNULL(@OLD_SQL_NOTES, 1) */;