VRFS-102 - added tables for likes, comments, etc.

This commit is contained in:
Brian Smith 2012-12-03 22:37:24 -05:00
parent f78657eaea
commit 9da81f7628
5 changed files with 91 additions and 0 deletions

View File

@ -30,3 +30,7 @@ max_mind.sql
recordings_genres.sql
join_request.sql
user_state_lengthen.sql
likes.sql
comments.sql
downloads.sql
plays.sql

19
up/comments.sql Normal file
View File

@ -0,0 +1,19 @@
-- recordings
CREATE TABLE recordings_comments(
id VARCHAR(64) PRIMARY KEY DEFAULT uuid_generate_v4(),
recording_id VARCHAR(64) NOT NULL REFERENCES recordings(id) ON DELETE CASCADE,
creator_id VARCHAR(64) NOT NULL REFERENCES users(id) ON DELETE CASCADE,
comment VARCHAR(4000) NOT NULL,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);
-- sessions
CREATE TABLE music_sessions_comments (
id VARCHAR(64) PRIMARY KEY DEFAULT uuid_generate_v4(),
music_session_id VARCHAR(64) NOT NULL REFERENCES music_sessions(id) ON DELETE CASCADE,
creator_id VARCHAR(64) NOT NULL REFERENCES users(id) ON DELETE CASCADE,
comment VARCHAR(4000) NOT NULL,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);

8
up/downloads.sql Normal file
View File

@ -0,0 +1,8 @@
-- downloads
CREATE TABLE recordings_downloads(
id VARCHAR(64) PRIMARY KEY DEFAULT uuid_generate_v4(),
recording_id VARCHAR(64) NOT NULL REFERENCES recordings(id) ON DELETE CASCADE,
downloader_id VARCHAR(64) NOT NULL REFERENCES users(id) ON DELETE CASCADE,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);

43
up/likes.sql Normal file
View File

@ -0,0 +1,43 @@
-- musicians
CREATE TABLE users_likers (
id VARCHAR(64) PRIMARY KEY DEFAULT uuid_generate_v4(),
user_id VARCHAR(64) NOT NULL REFERENCES users(id) ON DELETE CASCADE,
liker_id VARCHAR(64) NOT NULL REFERENCES users(id) ON DELETE CASCADE,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);
ALTER TABLE users_likers ADD CONSTRAINT user_liker_uniqkey UNIQUE (user_id, liker_id);
-- bands
CREATE TABLE bands_likers (
id VARCHAR(64) PRIMARY KEY DEFAULT uuid_generate_v4(),
band_id VARCHAR(64) NOT NULL REFERENCES bands(id) ON DELETE CASCADE,
liker_id VARCHAR(64) NOT NULL REFERENCES users(id) ON DELETE CASCADE,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);
ALTER TABLE bands_likers ADD CONSTRAINT band_liker_uniqkey UNIQUE (band_id, liker_id);
-- recordings
CREATE TABLE recordings_likers (
id VARCHAR(64) PRIMARY KEY DEFAULT uuid_generate_v4(),
recording_id VARCHAR(64) NOT NULL REFERENCES recordings(id) ON DELETE CASCADE,
liker_id VARCHAR(64) NOT NULL REFERENCES users(id) ON DELETE CASCADE,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);
ALTER TABLE recordings_likers ADD CONSTRAINT recording_liker_uniqkey UNIQUE (recording_id, liker_id);
-- sessions
CREATE TABLE music_sessions_likers (
id VARCHAR(64) PRIMARY KEY DEFAULT uuid_generate_v4(),
music_session_id VARCHAR(64) NOT NULL REFERENCES music_sessions(id) ON DELETE CASCADE,
liker_id VARCHAR(64) NOT NULL REFERENCES users(id) ON DELETE CASCADE,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);
ALTER TABLE music_sessions_likers ADD CONSTRAINT music_sessions_liker_uniqkey UNIQUE (music_session_id, liker_id);

17
up/plays.sql Normal file
View File

@ -0,0 +1,17 @@
-- recordings
CREATE TABLE recordings_plays(
id VARCHAR(64) PRIMARY KEY DEFAULT uuid_generate_v4(),
recording_id VARCHAR(64) NOT NULL REFERENCES recordings(id) ON DELETE CASCADE,
player_id VARCHAR(64) NOT NULL REFERENCES users(id) ON DELETE CASCADE,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);
-- sessions
CREATE TABLE sessions_plays (
id VARCHAR(64) PRIMARY KEY DEFAULT uuid_generate_v4(),
music_session_id VARCHAR(64) NOT NULL REFERENCES music_sessions(id) ON DELETE CASCADE,
player_id VARCHAR(64) NOT NULL REFERENCES users(id) ON DELETE CASCADE,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);