DROP TABLE IF EXISTS `documents`; CREATE TABLE `documents` ( `id` char(36) NOT NULL, `owner` varchar(45) DEFAULT NULL, `name` varchar(45) DEFAULT NULL, `created` timestamp NULL DEFAULT CURRENT_TIMESTAMP, `status` enum('nodata','inprogress','deleted','ok') NOT NULL DEFAULT 'nodata', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; DROP TABLE IF EXISTS `documents_page`; CREATE TABLE `documents_page` ( `documentId` char(36) NOT NULL, `pageId` char(36) NOT NULL, PRIMARY KEY (`documentId`,`pageId`), KEY `fk_docpage_pageid_idx` (`pageId`), CONSTRAINT `fk_docpage_docid` FOREIGN KEY (`documentId`) REFERENCES `documents` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION, CONSTRAINT `fk_docpage_pageid` FOREIGN KEY (`pageId`) REFERENCES `pages` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION ) ENGINE=InnoDB DEFAULT CHARSET=utf8; DROP TABLE IF EXISTS `documents_tags`; CREATE TABLE `documents_tags` ( `documentId` char(36) NOT NULL, `tagId` char(36) NOT NULL, PRIMARY KEY (`documentId`,`tagId`), KEY `fk_tags_id_idx` (`tagId`), CONSTRAINT `fk_doctags_docid` FOREIGN KEY (`documentId`) REFERENCES `documents` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION, CONSTRAINT `fk_doctags_tagid` FOREIGN KEY (`tagId`) REFERENCES `tags` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION ) ENGINE=InnoDB DEFAULT CHARSET=utf8; DROP TABLE IF EXISTS `lang`; CREATE TABLE `lang` ( `id` char(36) NOT NULL, `short` char(2) DEFAULT NULL, `name` varchar(45) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `short_UNIQUE` (`short`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; DROP TABLE IF EXISTS `pages`; CREATE TABLE `pages` ( `id` char(36) NOT NULL, `owner` varchar(45) DEFAULT NULL, `documentId` int(11) unsigned NOT NULL, `name` varchar(45) DEFAULT NULL, `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `status` enum('nodata','inprogress','deleted','ok') DEFAULT 'nodata', `contenttype` varchar(45) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; DROP TABLE IF EXISTS `pages_words`; CREATE TABLE `pages_words` ( `pageId` char(36) NOT NULL, `wordId` char(36) NOT NULL DEFAULT 'en', PRIMARY KEY (`pageId`,`wordId`), KEY `fk_pagword_wordid_idx` (`wordId`), CONSTRAINT `fk_pagword_pageid` FOREIGN KEY (`pageId`) REFERENCES `pages` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION, CONSTRAINT `fk_pagword_wordid` FOREIGN KEY (`wordId`) REFERENCES `words` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION ) ENGINE=InnoDB DEFAULT CHARSET=utf8; DROP TABLE IF EXISTS `tags`; CREATE TABLE `tags` ( `id` char(36) NOT NULL, `tag` varchar(45) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `tag_UNIQUE` (`tag`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; DROP TABLE IF EXISTS `users`; CREATE TABLE `users` ( `username` varchar(255) NOT NULL, `passwd` varchar(255) DEFAULT NULL, `groups` varchar(255) DEFAULT NULL, PRIMARY KEY (`username`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; DROP TABLE IF EXISTS `words`; CREATE TABLE `words` ( `id` char(36) NOT NULL, `word` varchar(45) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `word_UNIQUE` (`word`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; DROP TABLE IF EXISTS `words_lang`; CREATE TABLE `words_lang` ( `wordId` char(36) NOT NULL, `langId` char(36) NOT NULL, PRIMARY KEY (`wordId`,`langId`), KEY `fk_worlan_langid_idx` (`langId`), CONSTRAINT `fk_worlan_langid` FOREIGN KEY (`langId`) REFERENCES `lang` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION, CONSTRAINT `fk_worlan_wordid` FOREIGN KEY (`wordId`) REFERENCES `words` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION ) ENGINE=InnoDB DEFAULT CHARSET=utf8;