summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAurélien Bompard <aurelien@bompard.org>2014-01-10 08:55:59 +0100
committerAurélien Bompard <aurelien@bompard.org>2014-01-10 08:55:59 +0100
commitcc0913d92ed7f6b5355990e711893c5d89e6ee35 (patch)
treef6212bf383428268f07cc22c6b1b46dad2071dca
parentb86a0785d21efdeac4012658d0f88662b2dfce13 (diff)
downloadkittystore-WIP.tar.gz
kittystore-WIP.tar.xz
kittystore-WIP.zip
WIPWIP
-rw-r--r--kittystore/storm/schema/__init__.py39
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);',
],
}