1
0
mirror of https://github.com/dani/vroom.git synced 2024-06-26 17:43:29 +02:00
vroom/docs/database/schema.mysql

110 lines
3.2 KiB
Plaintext
Raw Normal View History

2014-10-12 23:16:21 +02:00
CREATE TABLE `config` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`key` VARCHAR(40) NOT NULL,
`value` VARCHAR(40) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE (`key`)
) ENGINE INNODB DEFAULT CHARSET=utf8;
INSERT INTO `config` (`key`,`value`)
2015-03-04 18:30:04 +01:00
VALUES ('schema_version', '2');
2014-10-12 23:16:21 +02:00
CREATE TABLE `rooms` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`name` VARCHAR(120) NOT NULL,
`owner` VARCHAR(60) DEFAULT NULL,
`create_date` DATETIME DEFAULT NULL,
`last_activity` DATETIME DEFAULT NULL,
`locked` TINYINT UNSIGNED DEFAULT '0',
`ask_for_name` TINYINT UNSIGNED DEFAULT '0',
`join_password` VARCHAR(160) DEFAULT NULL,
`owner_password` VARCHAR(160) DEFAULT NULL,
`etherpad_group` VARCHAR(40) DEFAULT NULL,
`token` VARCHAR(160) NOT NULL,
`realm` VARCHAR(160) DEFAULT NULL,
`persistent` TINYINT UNSIGNED DEFAULT '0',
PRIMARY KEY (`id`),
UNIQUE (`name`),
INDEX (`last_activity`)
) ENGINE INNODB DEFAULT CHARSET=utf8;
2014-10-14 18:43:09 +02:00
CREATE TABLE `email_notifications` (
2014-10-12 23:16:21 +02:00
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`room_id` INT UNSIGNED NOT NULL,
`email` VARCHAR(254),
PRIMARY KEY (`id`),
UNIQUE (`room_id`, `email`),
FOREIGN KEY (`room_id`) REFERENCES `rooms` (`id`)
ON UPDATE CASCADE
ON DELETE CASCADE
) ENGINE INNODB DEFAULT CHARSET=utf8;
2014-10-14 18:43:09 +02:00
CREATE TABLE `email_invitations` (
2014-10-12 23:16:21 +02:00
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`room_id` INT UNSIGNED NOT NULL,
`email` VARCHAR(254) NOT NULL,
`token` VARCHAR(160) NOT NULL,
`from` VARCHAR(60) NOT NULL,
`response` VARCHAR(20) DEFAULT NULL,
`message` TEXT DEFAULT NULL,
`processed` TINYINT DEFAULT '0',
`date` DATETIME DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE (`token`),
FOREIGN KEY (`room_id`) REFERENCES `rooms` (`id`)
ON UPDATE CASCADE
ON DELETE CASCADE
) ENGINE INNODB DEFAULT CHARSET=utf8;
2014-10-21 11:50:55 +02:00
CREATE TABLE `api_keys` (
2014-10-21 13:16:59 +02:00
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
2014-10-21 11:50:55 +02:00
`token` VARCHAR(160) NOT NULL,
`admin` TINYINT UNSIGNED DEFAULT '0',
`not_after` DATETIME DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE (`token`),
INDEX (`not_after`)
) ENGINE INNODB DEFAULT CHARSET=utf8;
CREATE TABLE `room_keys` (
2014-10-21 13:16:59 +02:00
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
2014-10-21 11:50:55 +02:00
`room_id` INT UNSIGNED NOT NULL,
`key_id` INT UNSIGNED NOT NULL,
2014-10-21 13:16:59 +02:00
`role` ENUM('owner', 'participant') DEFAULT 'participant',
2014-10-21 11:50:55 +02:00
PRIMARY KEY (`id`),
UNIQUE (`room_id`, `key_id`),
FOREIGN KEY (`room_id`) REFERENCES `rooms` (`id`)
ON UPDATE CASCADE
ON DELETE CASCADE,
FOREIGN KEY (`key_id`) REFERENCES `api_keys` (`id`)
ON UPDATE CASCADE
ON DELETE CASCADE
) ENGINE INNODB DEFAULT CHARSET=utf8;
2014-10-12 23:16:21 +02:00
#DROP TABLE IF EXISTS `turnusers_lt`;
#CREATE TABLE `turnusers_lt` (
# name VARCHAR(512) PRIMARY KEY,
# hmackey char(32)
#);
CREATE VIEW `turnusers_lt` AS
SELECT `name` AS `name`,
MD5(CONCAT(CONCAT(CONCAT(CONCAT(`name`,':'),`realm`),':'),`token`)) AS `hmackey`
FROM `rooms`;
CREATE TABLE `turnusers_st` (
`name` VARCHAR(512) PRIMARY KEY,
`password` VARCHAR(512)
) ENGINE INNODB DEFAULT CHARSET=latin1;
CREATE TABLE `turn_secret` (
`value` VARCHAR(512)
) ENGINE INNODB DEFAULT CHARSET=latin1;
CREATE TABLE `allowed_peer_ip` (
`ip_range` VARCHAR(256)
) ENGINE INNODB DEFAULT CHARSET=latin1;
CREATE TABLE `denied_peer_ip` (
`ip_range` VARCHAR(256)
) ENGINE INNODB DEFAULT CHARSET=latin1;