diff --git a/db/schema.sql b/db/schema.sql index c28a10c..e4551d5 100644 --- a/db/schema.sql +++ b/db/schema.sql @@ -4,4 +4,32 @@ CREATE TABLE users ( email VARCHAR(255) NOT NULL UNIQUE, password_hash VARCHAR(255) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +CREATE TABLE has_access ( + id SERIAL PRIMARY KEY, + user_id INTEGER NOT NULL, + post_id INTEGER NOT NULL, + FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE, + FOREIGN KEY (post_id) REFERENCES posts(id) ON DELETE CASCADE +); + +CREATE TABLE posts ( + id SERIAL PRIMARY KEY, + author VARCHAR(255) NOT NULL, + title VARCHAR(255) NOT NULL, + content TEXT NOT NULL, + created_at TIMESTAMP NOT NULL, + source VARCHAR(255) NOT NULL +); + +CREATE TABLE comments ( + id SERIAL PRIMARY KEY, + post_id INTEGER NOT NULL, + author VARCHAR(255) NOT NULL, + content TEXT NOT NULL, + created_at TIMESTAMP NOT NULL, + reply_to VARCHAR(255), + source VARCHAR(255) NOT NULL, + FOREIGN KEY (post_id) REFERENCES posts(id) ON DELETE CASCADE ); \ No newline at end of file