diff options
Diffstat (limited to 'internal/db/migrations/blog/00013_page_kind.sql')
| -rw-r--r-- | internal/db/migrations/blog/00013_page_kind.sql | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/internal/db/migrations/blog/00013_page_kind.sql b/internal/db/migrations/blog/00013_page_kind.sql new file mode 100644 index 0000000..072d53d --- /dev/null +++ b/internal/db/migrations/blog/00013_page_kind.sql @@ -0,0 +1,16 @@ +-- +goose Up +-- Special pages: a page's kind says what it shows instead of posts. The +-- first special kind is a gallery of the library's images; the images a +-- gallery leaves out are rows here, so a deleted file drops out by itself. +ALTER TABLE pages ADD COLUMN kind text NOT NULL DEFAULT 'posts' + CHECK (kind IN ('posts', 'gallery')); + +CREATE TABLE page_hidden_files ( + page_id bigint NOT NULL REFERENCES pages(id) ON DELETE CASCADE, + file_id uuid NOT NULL REFERENCES files(id) ON DELETE CASCADE, + PRIMARY KEY (page_id, file_id) +); + +-- +goose Down +DROP TABLE page_hidden_files; +ALTER TABLE pages DROP COLUMN kind; |
