diff options
| author | Alexander Kavon <me+git@alexkavon.com> | 2024-01-24 04:11:59 -0500 |
|---|---|---|
| committer | Alexander Kavon <me+git@alexkavon.com> | 2024-01-24 04:11:59 -0500 |
| commit | d73dd37027e5d9b53cd56481c78d43c0942d2d68 (patch) | |
| tree | 8fd4d757b09753b23226d26a2885403c37b7dc57 | |
| parent | 2741cbac9cdb671be6dcbb60057ecc7e2cb8836c (diff) | |
remove .sql.sql file extension for migration files, drop type enum on migrate down
| -rw-r--r-- | migrations/003_create_posts_table.sql (renamed from migrations/003_create_posts_table.sql.sql) | 0 | ||||
| -rw-r--r-- | migrations/004_create_tags_table.sql (renamed from migrations/004_create_tags_table.sql.sql) | 0 | ||||
| -rw-r--r-- | migrations/005_create_comments_tables.sql | 22 |
3 files changed, 22 insertions, 0 deletions
diff --git a/migrations/003_create_posts_table.sql.sql b/migrations/003_create_posts_table.sql index 584b7b4..584b7b4 100644 --- a/migrations/003_create_posts_table.sql.sql +++ b/migrations/003_create_posts_table.sql diff --git a/migrations/004_create_tags_table.sql.sql b/migrations/004_create_tags_table.sql index 0b184f8..0b184f8 100644 --- a/migrations/004_create_tags_table.sql.sql +++ b/migrations/004_create_tags_table.sql diff --git a/migrations/005_create_comments_tables.sql b/migrations/005_create_comments_tables.sql new file mode 100644 index 0000000..3717c0c --- /dev/null +++ b/migrations/005_create_comments_tables.sql @@ -0,0 +1,22 @@ +CREATE TYPE comment_state AS ENUM ('hidden', 'visible'); + +CREATE TABLE comments( + id SERIAL NOT NULL PRIMARY KEY, + comment TEXT NOT NULL, + user_id INT NOT NULL REFERENCES users(id), + post_id INT NOT NULL REFERENCES posts(id) ON DELETE CASCADE, + reply_id INT REFERENCES comments(id) ON DELETE CASCADE, + state comment_state DEFAULT 'visible', + created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), + updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW() +); + +CREATE TRIGGER set_timestamp +BEFORE UPDATE ON comments +FOR EACH ROW +EXECUTE PROCEDURE trigger_set_timestamp(); + +---- create above / drop below ---- + +DROP TABLE comments; +DROP TYPE comment_state; |
