BEGIN TRANSACTION; CREATE TABLE `vote_post` ( `vote` integer NOT NULL , `datetime` datetime NOT NULL , `postId` integer NOT NULL , `userId` integer NOT NULL , PRIMARY KEY (`postId`,`userId`) , CONSTRAINT `FK_EDE89DBC64B64DCC` FOREIGN KEY (`userId`) REFERENCES `user` (`id`) , CONSTRAINT `FK_EDE89DBCE094D20D` FOREIGN KEY (`postId`) REFERENCES `post` (`id`) ); CREATE TABLE `vote_comment` ( `vote` integer NOT NULL , `datetime` datetime NOT NULL , `commentId` integer NOT NULL , `userId` integer NOT NULL , PRIMARY KEY (`commentId`,`userId`) , CONSTRAINT `FK_1FC60DF464B64DCC` FOREIGN KEY (`userId`) REFERENCES `user` (`id`) , CONSTRAINT `FK_1FC60DF46690C3F5` FOREIGN KEY (`commentId`) REFERENCES `comment` (`id`) ); CREATE TABLE `user` ( `id` integer NOT NULL PRIMARY KEY AUTOINCREMENT , `hashId` varchar(32) NOT NULL , `email` varchar(255) DEFAULT NULL , `email_notifications` integer NOT NULL DEFAULT '1' , `isActive` integer NOT NULL , `password` varchar(255) NOT NULL , `passwordResetToken` varchar(255) DEFAULT NULL , `passwordResetTokenExpire` datetime DEFAULT NULL , `registered` datetime NOT NULL , `salt` varchar(255) NOT NULL , `username` varchar(255) NOT NULL , `about` varchar(10000) NOT NULL DEFAULT '' , `session` varchar(255) DEFAULT NULL , `preferred_feed` varchar(64) NOT NULL DEFAULT 'hot' , UNIQUE (`hashId`) , UNIQUE (`username`) , UNIQUE (`email`) , UNIQUE (`passwordResetToken`) , UNIQUE (`session`) ); CREATE TABLE `topic` ( `post_id` integer NOT NULL , `name` varchar(45) NOT NULL , PRIMARY KEY (`post_id`,`name`) , CONSTRAINT `fk_topic_1` FOREIGN KEY (`post_id`) REFERENCES `post` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION ); CREATE TABLE `remember_me` ( `token` char(128) NOT NULL , `userId` integer NOT NULL , `expires` datetime NOT NULL , PRIMARY KEY (`token`) , CONSTRAINT `FK_userId` FOREIGN KEY (`userId`) REFERENCES `user` (`id`) ); CREATE TABLE `post` ( `id` integer NOT NULL PRIMARY KEY AUTOINCREMENT , `hashId` varchar(32) NOT NULL , `created` datetime NOT NULL , `dateCreated` date NOT NULL , `title` varchar(255) NOT NULL , `link` text COLLATE BINARY , `text` longtext NOT NULL , `vote` integer NOT NULL , `commentsCount` integer NOT NULL , `userId` integer DEFAULT NULL , UNIQUE (`hashId`) , CONSTRAINT `FK_5A8A6C8D64B64DCC` FOREIGN KEY (`userId`) REFERENCES `user` (`id`) ); CREATE TABLE `comment` ( `id` integer NOT NULL PRIMARY KEY AUTOINCREMENT , `hashId` varchar(32) NOT NULL , `created` datetime NOT NULL , `dateCreated` date NOT NULL , `read` integer NOT NULL , `text` longtext NOT NULL , `vote` integer NOT NULL , `parentId` integer DEFAULT NULL , `parentUserId` integer DEFAULT NULL , `postId` integer DEFAULT NULL , `userId` integer DEFAULT NULL , UNIQUE (`hashId`) , CONSTRAINT `FK_9474526C10EE4CEE` FOREIGN KEY (`parentId`) REFERENCES `comment` (`id`) , CONSTRAINT `FK_9474526C251330C5` FOREIGN KEY (`parentUserId`) REFERENCES `user` (`id`) , CONSTRAINT `FK_9474526C64B64DCC` FOREIGN KEY (`userId`) REFERENCES `user` (`id`) , CONSTRAINT `FK_9474526CE094D20D` FOREIGN KEY (`postId`) REFERENCES `post` (`id`) ); CREATE INDEX "idx_vote_post_IDX_EDE89DBCE094D20D" ON "vote_post" (`postId`); CREATE INDEX "idx_vote_post_IDX_EDE89DBC64B64DCC" ON "vote_post" (`userId`); CREATE INDEX "idx_vote_comment_IDX_1FC60DF46690C3F5" ON "vote_comment" (`commentId`); CREATE INDEX "idx_vote_comment_IDX_1FC60DF464B64DCC" ON "vote_comment" (`userId`); CREATE INDEX "idx_remember_me_userId" ON "remember_me" (`userId`); CREATE INDEX "idx_post_vote" ON "post" (`vote`); CREATE INDEX "idx_post_dateCreated" ON "post" (`dateCreated`); CREATE INDEX "idx_post_created" ON "post" (`created`); CREATE INDEX "idx_post_IDX_5A8A6C8D64B64DCC" ON "post" (`userId`); CREATE INDEX "idx_comment_vote" ON "comment" (`vote`); CREATE INDEX "idx_comment_isRead" ON "comment" (`read`); CREATE INDEX "idx_comment_dateCreated" ON "comment" (`dateCreated`); CREATE INDEX "idx_comment_created" ON "comment" (`created`); CREATE INDEX "idx_comment_IDX_9474526CE094D20D" ON "comment" (`postId`); CREATE INDEX "idx_comment_IDX_9474526C64B64DCC" ON "comment" (`userId`); CREATE INDEX "idx_comment_IDX_9474526C251330C5" ON "comment" (`parentUserId`); CREATE INDEX "idx_comment_IDX_9474526C10EE4CEE" ON "comment" (`parentId`); COMMIT;