SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
CREATE TABLE `image` (
`uuid` varchar(36) COLLATE utf8_unicode_ci NOT NULL,
`revision` int(10) unsigned NOT NULL,
`title` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
`path` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`createtime` int(10) unsigned NOT NULL,
`updatetime` int(10) unsigned NOT NULL,
`ownerid` int(10) unsigned NOT NULL,
`operatingsystem` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
`isvalid` tinyint(1) unsigned NOT NULL,
`isdeleted` tinyint(1) unsigned NOT NULL,
`description` text COLLATE utf8_unicode_ci NOT NULL,
`filesize` bigint(20) unsigned NOT NULL,
`missingblocks` text COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`uuid`,`revision`),
KEY `ownerid` (`ownerid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
CREATE TABLE `satellite` (
`organizationid` varchar(32) NOT NULL,
`address` varchar(64) NOT NULL,
`name` varchar(255) NOT NULL,
`authmethod` varchar(255) NOT NULL,
`publickey` text,
PRIMARY KEY (`organizationid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `satellite_suffix` (
`organizationid` varchar(32) NOT NULL,
`suffix` varchar(32) NOT NULL,
PRIMARY KEY (`suffix`),
KEY `organizationid` (`organizationid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `user` (
`userid` int(10) unsigned NOT NULL AUTO_INCREMENT,
`login` varchar(48) DEFAULT NULL,
`password` varchar(255) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
`organizationid` varchar(32) NOT NULL,
`firstname` varchar(32) NOT NULL,
`lastname` varchar(32) NOT NULL,
`email` varchar(48) NOT NULL,
PRIMARY KEY (`userid`),
UNIQUE KEY `username` (`organizationid`,`login`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
ALTER TABLE `image`
ADD CONSTRAINT `image_ibfk_1` FOREIGN KEY (`ownerid`) REFERENCES `user` (`userid`) ON UPDATE CASCADE;
ALTER TABLE `satellite_suffix`
ADD CONSTRAINT `satellite_suffix_ibfk_1` FOREIGN KEY (`organizationid`) REFERENCES `satellite` (`organizationid`) ON UPDATE CASCADE;
ALTER TABLE `user`
ADD CONSTRAINT `user_ibfk_1` FOREIGN KEY (`organizationid`) REFERENCES `satellite` (`organizationid`) ON UPDATE CASCADE;