187 lines
8.3 KiB
SQL
187 lines
8.3 KiB
SQL
-- MySQL dump 10.13 Distrib 5.6.26, for Linux (x86_64)
|
|
--
|
|
-- Host: localhost Database: hathor_music
|
|
-- ------------------------------------------------------
|
|
-- Server version 5.6.26-log
|
|
|
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
|
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
|
/*!40101 SET NAMES utf8 */;
|
|
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
|
/*!40103 SET TIME_ZONE='+00:00' */;
|
|
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
|
/*!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 */;
|
|
|
|
--
|
|
-- Current Database: `hathor_music`
|
|
--
|
|
|
|
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `hathor_music` /*!40100 DEFAULT CHARACTER SET utf8 */;
|
|
|
|
USE `hathor_music`;
|
|
|
|
--
|
|
-- Table structure for table `albums`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `albums`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `albums` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id of the album',
|
|
`aid` varchar(64) NOT NULL COMMENT 'album id in md5',
|
|
`name` varchar(255) NOT NULL COMMENT 'name of the album',
|
|
`arid` varchar(64) NOT NULL COMMENT 'matching arist id from artist table',
|
|
`albumartist` varchar(255) DEFAULT NULL COMMENT 'the album artist',
|
|
`label` varchar(255) DEFAULT NULL COMMENT 'the album label',
|
|
`released` year(4) DEFAULT '1969' COMMENT 'year released',
|
|
`first_available` date DEFAULT '1969-01-01',
|
|
`web` blob COMMENT 'json list of web sites for this album',
|
|
`extra` blob COMMENT 'any extra information about this album in json format.',
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `aid_albums_unq` (`aid`),
|
|
KEY `aid_albums_idx` (`aid`),
|
|
KEY `arid_albums_idx` (`arid`),
|
|
CONSTRAINT `arid_albums` FOREIGN KEY (`arid`) REFERENCES `artists` (`arid`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `artists`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `artists`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `artists` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`arid` varchar(64) NOT NULL COMMENT 'unique artist id in md5 format',
|
|
`name` varchar(255) NOT NULL COMMENT 'name of the artist',
|
|
`web` blob COMMENT 'json formated information with different web sites',
|
|
`tour` blob COMMENT 'json formated information about touring',
|
|
`rating` tinyint(2) unsigned NOT NULL DEFAULT '0' COMMENT 'rating from 1 to 10 of artist',
|
|
`updated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'updated timestamp',
|
|
`extra` blob COMMENT 'any extra information about artist in json format',
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `arid_artists` (`arid`),
|
|
UNIQUE KEY `name_artists` (`name`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `covers`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `covers`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `covers` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'the unique id',
|
|
`cid` varchar(64) DEFAULT NULL COMMENT 'cover id in md5',
|
|
`aid` varchar(64) DEFAULT NULL COMMENT 'the album this belongs to',
|
|
`file` varchar(1000) DEFAULT NULL COMMENT 'the actual filename',
|
|
`base64` blob COMMENT 'base64 encoded output',
|
|
`updated` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT 'last updated',
|
|
PRIMARY KEY (`id`),
|
|
KEY `cid_idx` (`cid`),
|
|
KEY `aid_covers_idx` (`aid`),
|
|
CONSTRAINT `covers_aid` FOREIGN KEY (`aid`) REFERENCES `albums` (`aid`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `playlists`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `playlists`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `playlists` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'playlist id',
|
|
`uid` varchar(64) NOT NULL COMMENT 'uid in the users table in md5',
|
|
`plsid` varchar(64) NOT NULL COMMENT 'playlist id in md5',
|
|
`name` varchar(255) NOT NULL COMMENT 'name for this playlist',
|
|
`track` varchar(64) NOT NULL COMMENT 'the track in md5 format from the tracks table',
|
|
`updated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'playlist last updated timestamp',
|
|
PRIMARY KEY (`id`),
|
|
KEY `playlist_uid_idx` (`uid`),
|
|
KEY `playlist_track_idx` (`track`),
|
|
CONSTRAINT `playlist_track_idx` FOREIGN KEY (`track`) REFERENCES `tracks` (`tid`) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
CONSTRAINT `playlist_uid_idx` FOREIGN KEY (`uid`) REFERENCES `users` (`uid`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `tracks`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `tracks`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `tracks` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id of the song in the database',
|
|
`tid` varchar(64) NOT NULL COMMENT 'song id md5 hash',
|
|
`uri` varchar(1000) NOT NULL DEFAULT 'unknown',
|
|
`arid` varchar(64) NOT NULL COMMENT 'corresponding artist id from artist table in md5 hash',
|
|
`aid` varchar(64) NOT NULL COMMENT 'corresponding album id from album table in md5 hash',
|
|
`title` varchar(255) NOT NULL COMMENT 'title of song',
|
|
`track` tinyint(4) unsigned DEFAULT '0' COMMENT 'track number of song',
|
|
`genre` varchar(45) DEFAULT NULL COMMENT 'genre of song',
|
|
`lyrics` blob COMMENT 'lyrics if any',
|
|
`comment` blob,
|
|
`bitrate` mediumint(6) unsigned DEFAULT '0' COMMENT 'bitrate of song',
|
|
`sample` mediumint(6) unsigned DEFAULT '0' COMMENT 'sample rate of song',
|
|
`channels` smallint(2) unsigned DEFAULT '0' COMMENT 'channels of song i.e stereo = 2, mono = 1',
|
|
`length` int(10) unsigned DEFAULT '0' COMMENT 'length of song',
|
|
`minutes` tinytext COMMENT 'total length of song in minutes and seconds',
|
|
`seconds` tinyint(4) unsigned DEFAULT '0' COMMENT 'seconds of song',
|
|
`pls` blob COMMENT 'playlists this song is associated with',
|
|
`ts` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'timestamp of last update of song',
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `tid_idx` (`tid`),
|
|
UNIQUE KEY `id_idx` (`id`),
|
|
KEY `tracks_arid` (`arid`),
|
|
KEY `tracks_aid` (`aid`),
|
|
CONSTRAINT `tracks_arid` FOREIGN KEY (`arid`) REFERENCES `artists` (`arid`) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
CONSTRAINT `tracks_aid` FOREIGN KEY (`aid`) REFERENCES `albums` (`aid`) ON DELETE CASCADE ON UPDATE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `users`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `users`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `users` (
|
|
`id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'the user id int',
|
|
`uid` varchar(64) NOT NULL COMMENT 'user id in md5',
|
|
`username` varchar(20) NOT NULL COMMENT 'the users name',
|
|
`email` varchar(255) NOT NULL COMMENT 'the users email',
|
|
`password` varchar(255) NOT NULL COMMENT 'the users hashed password',
|
|
`isadmin` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT 'true or false, admin rights',
|
|
`pls` blob COMMENT 'json list of playlist ids',
|
|
`ts` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'timestamp of user record',
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `username_idx` (`username`),
|
|
UNIQUE KEY `email_idx` (`email`),
|
|
UNIQUE KEY `id_idx` (`id`),
|
|
UNIQUE KEY `uid_idx` (`uid`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
|
|
|
|
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
|
|
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
|
|
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
|
|
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
|
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
|
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
|
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
|
|
|
-- Dump completed on 2015-08-30 12:07:30
|