post_images.kind is image or video. A post can keep one video alongside up to four images. Reviewed-on: #21 Co-authored-by: codegirl-007 <s.raide@gmail.com>
This commit was merged in pull request #21.
This commit is contained in:
+13
-3
@@ -48,13 +48,23 @@ CREATE TABLE IF NOT EXISTS post_images (
|
||||
object_key TEXT NOT NULL UNIQUE,
|
||||
public_url TEXT NOT NULL,
|
||||
description TEXT NOT NULL DEFAULT '' CHECK (char_length(description) <= 500),
|
||||
position SMALLINT NOT NULL CHECK (position BETWEEN 0 AND 3),
|
||||
width INTEGER NOT NULL CHECK (width > 0),
|
||||
height INTEGER NOT NULL CHECK (height > 0),
|
||||
kind TEXT NOT NULL DEFAULT 'image',
|
||||
position SMALLINT NOT NULL,
|
||||
width INTEGER NOT NULL,
|
||||
height INTEGER NOT NULL,
|
||||
created_at TEXT NOT NULL,
|
||||
CONSTRAINT post_images_kind_check CHECK (kind IN ('image', 'video')),
|
||||
CONSTRAINT post_images_width_check CHECK (width >= 0),
|
||||
CONSTRAINT post_images_height_check CHECK (height >= 0),
|
||||
CONSTRAINT post_images_image_dims_check CHECK (kind <> 'image' OR (width > 0 AND height > 0)),
|
||||
CONSTRAINT post_images_position_check CHECK (position BETWEEN 0 AND 4),
|
||||
UNIQUE (post_id, position)
|
||||
);
|
||||
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS post_images_one_video_uidx
|
||||
ON post_images (post_id)
|
||||
WHERE kind = 'video';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS post_votes (
|
||||
user_id TEXT NOT NULL REFERENCES users(id),
|
||||
post_id TEXT NOT NULL REFERENCES posts(id) ON DELETE CASCADE,
|
||||
|
||||
Reference in New Issue
Block a user