summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--setup.sql40
1 files changed, 40 insertions, 0 deletions
diff --git a/setup.sql b/setup.sql
new file mode 100644
index 0000000..b43ebf2
--- /dev/null
+++ b/setup.sql
@@ -0,0 +1,40 @@
+CREATE TABLE users (
+ user_id INT(8) NOT NULL AUTO_INCREMENT,
+ user_name VARCHAR(30) NOT NULL,
+ user_pass VARCHAR(255) NOT NULL,
+ user_date DATETIME NOT NULL,
+ UNIQUE INDEX user_name_unique (user_name),
+ PRIMARY KEY (user_id)
+) ENGINE = InnoDB;
+
+CREATE TABLE categories (
+ cat_id INT(8) NOT NULL AUTO_INCREMENT,
+ cat_name VARCHAR(255) NOT NULL,
+ cat_description VARCHAR(255) NOT NULL,
+ UNIQUE INDEX cat_name_unique (cat_name),
+ PRIMARY KEY (cat_id)
+) ENGINE = InnoDB;
+
+CREATE TABLE topics (
+ topic_id INT(8) NOT NULL AUTO_INCREMENT,
+ topic_subject VARCHAR(255) NOT NULL,
+ topic_date DATETIME NOT NULL,
+ topic_cat INT(8) NOT NULL,
+ topic_author INT(8) NOT NULL,
+ PRIMARY KEY (topic_id)
+) ENGINE = InnoDB;
+
+CREATE TABLE posts (
+post_id INT(8) NOT NULL AUTO_INCREMENT,
+post_content TEXT NOT NULL,
+post_date DATETIME NOT NULL,
+post_topic INT(8) NOT NULL,
+post_author INT(8) NOT NULL,
+PRIMARY KEY (post_id)
+) ENGINE = InnoDB;
+
+ALTER TABLE topics ADD FOREIGN KEY(topic_cat) REFERENCES categories(cat_id) ON DELETE CASCADE ON UPDATE CASCADE;
+ALTER TABLE topics ADD FOREIGN KEY(topic_author) REFERENCES users(user_id) ON DELETE RESTRICT ON UPDATE CASCADE;
+ALTER TABLE posts ADD FOREIGN KEY(post_topic) REFERENCES topics(topic_id) ON DELETE CASCADE ON UPDATE CASCADE;
+ALTER TABLE posts ADD FOREIGN KEY(post_author) REFERENCES users(user_id) ON DELETE RESTRICT ON UPDATE CASCADE;
+