addons-server/migrations/402-ratings-table.sql

52 строки
2.1 KiB
SQL

CREATE TABLE `ratings` (
`id` int(11) unsigned AUTO_INCREMENT NOT NULL PRIMARY KEY,
`created` datetime NOT NULL,
`modified` datetime NOT NULL,
`addon_id` int(11) unsigned NOT NULL,
`user_id` int(11) unsigned NOT NULL,
`reply_to` int(11) unsigned UNIQUE,
`score` smallint UNSIGNED,
`body` int(11) unsigned UNIQUE,
`ip_address` varchar(255) NOT NULL,
`editorreview` bool NOT NULL,
`flag` bool NOT NULL,
`is_latest` bool NOT NULL,
`previous_count` integer UNSIGNED NOT NULL
) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE `ratings`
ADD CONSTRAINT `ratings_addon_id_fk`
FOREIGN KEY (`addon_id`) REFERENCES `addons` (`id`);
ALTER TABLE `ratings`
ADD CONSTRAINT `ratings_user_id_fk`
FOREIGN KEY (`user_id`) REFERENCES `users` (`id`);
ALTER TABLE `ratings`
ADD CONSTRAINT `ratings_body_fk`
FOREIGN KEY (`body`) REFERENCES `translations` (`id`);
ALTER TABLE `ratings`
ADD CONSTRAINT `ratings_reply_to_fk3`
FOREIGN KEY (`reply_to`) REFERENCES `ratings` (`id`);
CREATE TABLE `ratings_moderation_flags` (
`id` int(11) unsigned AUTO_INCREMENT NOT NULL PRIMARY KEY,
`created` datetime NOT NULL,
`modified` datetime NOT NULL,
`rating_id` int(11) unsigned NOT NULL,
`user_id` int(11) unsigned NOT NULL,
`flag_name` varchar(64) NOT NULL,
`flag_notes` varchar(100) NOT NULL,
UNIQUE (`rating_id`, `user_id`)
) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE `ratings_moderation_flags`
ADD CONSTRAINT `ratings_moderation_flags_rating_id_fk`
FOREIGN KEY (`rating_id`) REFERENCES `ratings` (`id`);
ALTER TABLE `ratings_moderation_flags`
ADD CONSTRAINT `ratings_moderation_flags_user_id_fk`
FOREIGN KEY (`user_id`) REFERENCES `users` (`id`);
CREATE INDEX `ratings_addon_id_idx` ON `ratings` (`addon_id`);
CREATE INDEX `ratings_user_id_idx` ON `ratings` (`user_id`);
CREATE INDEX `ratings_moderation_flags_rating_id_idx` ON `ratings_moderation_flags` (`rating_id`);
CREATE INDEX `ratings_moderation_flags_user_id_idx` ON `ratings_moderation_flags` (`user_id`);