diff --git a/manifest b/manifest index 98ba32e22..911528582 100644 --- a/manifest +++ b/manifest @@ -27,4 +27,5 @@ make_location_nullable.sql band_invitations.sql image_urls.sql max_mind.sql -recordings_genres.sql \ No newline at end of file +recordings_genres.sql +join_request.sql \ No newline at end of file diff --git a/up/join_request.sql b/up/join_request.sql new file mode 100644 index 000000000..fdc5f65ca --- /dev/null +++ b/up/join_request.sql @@ -0,0 +1,12 @@ +CREATE TABLE join_requests ( + id VARCHAR(64) PRIMARY KEY DEFAULT uuid_generate_v4(), + user_id VARCHAR(64) REFERENCES users(id) ON DELETE CASCADE, + music_session_id VARCHAR(64) REFERENCES music_sessions(id) ON DELETE CASCADE, + text VARCHAR(2000), + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +ALTER TABLE join_requests ADD CONSTRAINT user_music_session_uniqkey UNIQUE (user_id, music_session_id); + +ALTER TABLE invitations ADD COLUMN join_request_id VARCHAR(64) REFERENCES join_requests(id) ON DELETE CASCADE;