18 lines
755 B
MySQL
18 lines
755 B
MySQL
|
|
CREATE TABLE track_comments (
|
||
|
|
id BIGSERIAL PRIMARY KEY,
|
||
|
|
track_id BIGINT NOT NULL REFERENCES tracks(id) ON DELETE CASCADE,
|
||
|
|
user_id BIGINT NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
||
|
|
parent_id BIGINT REFERENCES track_comments(id) ON DELETE CASCADE,
|
||
|
|
content TEXT NOT NULL,
|
||
|
|
is_edited BOOLEAN DEFAULT FALSE,
|
||
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||
|
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||
|
|
deleted_at TIMESTAMP
|
||
|
|
);
|
||
|
|
|
||
|
|
CREATE INDEX idx_track_comments_track_id ON track_comments(track_id);
|
||
|
|
CREATE INDEX idx_track_comments_user_id ON track_comments(user_id);
|
||
|
|
CREATE INDEX idx_track_comments_parent_id ON track_comments(parent_id);
|
||
|
|
CREATE INDEX idx_track_comments_created_at ON track_comments(created_at DESC);
|
||
|
|
|