diff options
author | Aurélien Bompard <aurelien@bompard.org> | 2014-01-10 08:55:59 +0100 |
---|---|---|
committer | Aurélien Bompard <aurelien@bompard.org> | 2014-01-10 08:55:59 +0100 |
commit | cc0913d92ed7f6b5355990e711893c5d89e6ee35 (patch) | |
tree | f6212bf383428268f07cc22c6b1b46dad2071dca | |
parent | b86a0785d21efdeac4012658d0f88662b2dfce13 (diff) | |
download | kittystore-WIP.tar.gz kittystore-WIP.tar.xz kittystore-WIP.zip |
WIPWIP
-rw-r--r-- | kittystore/storm/schema/__init__.py | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/kittystore/storm/schema/__init__.py b/kittystore/storm/schema/__init__.py index 8e6cdff..58dd0da 100644 --- a/kittystore/storm/schema/__init__.py +++ b/kittystore/storm/schema/__init__.py @@ -77,6 +77,17 @@ CREATES = { PRIMARY KEY (list_name, message_id, counter), FOREIGN KEY (list_name, message_id) REFERENCES email(list_name, message_id) ON DELETE CASCADE + );""", """ + CREATE TABLE "vote" ( + list_name VARCHAR(255) NOT NULL, + message_id VARCHAR(255) NOT NULL, + user_id VARCHAR(255) NOT NULL, + value TINYINT NOT NULL, + PRIMARY KEY (list_name, message_id, user_id), + FOREIGN KEY (list_name) REFERENCES list(name) ON DELETE CASCADE, + FOREIGN KEY (list_name, message_id) + REFERENCES email(list_name, message_id) ON DELETE CASCADE, + FOREIGN KEY (user_id) REFERENCES user(id) );""", 'CREATE INDEX "ix_sender_user_id" ON "sender" (user_id);', 'CREATE INDEX "ix_email_list_name" ON "email" (list_name);', @@ -92,6 +103,8 @@ CREATES = { 'CREATE INDEX "ix_thread_list_name" ON "thread" (list_name);', 'CREATE UNIQUE INDEX "ix_category_name" ON "category" (name);', 'CREATE INDEX "ix_attachment_list_name_message_id" ON "attachment" (list_name, message_id);', + 'CREATE INDEX "ix_vote_list_name_message_id" ON "vote" (list_name, message_id);', + 'CREATE INDEX "ix_vote_user_id" ON "vote" (user_id);', ], "postgres": [ """ @@ -179,6 +192,17 @@ CREATES = { PRIMARY KEY (list_name, message_id, counter), FOREIGN KEY (list_name, message_id) REFERENCES email(list_name, message_id) ON DELETE CASCADE + );""", """ + CREATE TABLE "vote" ( + list_name VARCHAR(255) NOT NULL, + message_id VARCHAR(255) NOT NULL, + user_id VARCHAR(255) NOT NULL, + value SMALLINT NOT NULL, + PRIMARY KEY (list_name, message_id, user_id), + FOREIGN KEY (list_name) REFERENCES list(name) ON DELETE CASCADE, + FOREIGN KEY (list_name, message_id) + REFERENCES email(list_name, message_id) ON DELETE CASCADE, + FOREIGN KEY (user_id) REFERENCES user(id) );""", 'CREATE INDEX "ix_sender_user_id" ON "sender" (user_id);', 'CREATE INDEX "ix_email_list_name" ON "email" (list_name);', @@ -194,6 +218,8 @@ CREATES = { 'CREATE INDEX "ix_thread_list_name" ON "thread" (list_name);', 'CREATE UNIQUE INDEX "ix_category_name" ON "category" (name);', 'CREATE INDEX "ix_attachment_list_name_message_id" ON "attachment" (list_name, message_id);', + 'CREATE INDEX "ix_vote_list_name_message_id" ON "vote" (list_name, message_id);', + 'CREATE INDEX "ix_vote_user_id" ON "vote" (user_id);', ], "mysql": [ """ @@ -271,6 +297,17 @@ CREATES = { PRIMARY KEY (list_name, message_id, counter), FOREIGN KEY (list_name, message_id) REFERENCES email(list_name, message_id) ON DELETE CASCADE + );""", """ + CREATE TABLE `vote` ( + list_name VARCHAR(255) NOT NULL, + message_id VARCHAR(255) NOT NULL, + user_id VARCHAR(255) NOT NULL, + value TINYINT NOT NULL, + PRIMARY KEY (list_name, message_id, user_id), + FOREIGN KEY (list_name) REFERENCES list(name) ON DELETE CASCADE, + FOREIGN KEY (list_name, message_id) + REFERENCES email(list_name, message_id) ON DELETE CASCADE, + FOREIGN KEY (user_id) REFERENCES user(id) );""", 'CREATE INDEX `ix_sender_user_id` ON `sender` (user_id);', 'CREATE INDEX `ix_email_list_name` ON `email` (list_name);', @@ -286,6 +323,8 @@ CREATES = { 'CREATE INDEX `ix_thread_list_name` ON `thread` (list_name);', 'CREATE UNIQUE INDEX `ix_category_name` ON `category` (name);', 'CREATE INDEX `ix_attachment_list_name_message_id` ON `attachment` (list_name, message_id);', + 'CREATE INDEX `ix_vote_list_name_message_id` ON `vote` (list_name, message_id);', + 'CREATE INDEX `ix_vote_user_id" ON "vote` (user_id);', ], } |