added users_followers table

This commit is contained in:
Brian Smith 2012-11-04 08:32:14 -05:00
parent a219a689ba
commit c6a3e7957c
3 changed files with 24 additions and 4 deletions

View File

@ -8,3 +8,4 @@ invitations.sql
instruments.sql
musician_access.sql
tracks.sql
followers.sql

19
up/followers.sql Normal file
View File

@ -0,0 +1,19 @@
CREATE TABLE users_followers (
id VARCHAR(64) PRIMARY KEY DEFAULT uuid_generate_v4(),
user_id VARCHAR(64) NOT NULL REFERENCES users(id) ON DELETE CASCADE,
follower_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_followers ADD CONSTRAINT user_follower_uniqkey UNIQUE (user_id, follower_id);
CREATE TABLE bands_followers (
id VARCHAR(64) PRIMARY KEY DEFAULT uuid_generate_v4(),
band_id VARCHAR(64) NOT NULL REFERENCES bands(id) ON DELETE CASCADE,
follower_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_followers ADD CONSTRAINT band_follower_uniqkey UNIQUE (band_id, follower_id);

View File

@ -50,8 +50,8 @@ CREATE TABLE genres (
-- band -> genre mapping
CREATE TABLE bands_genres (
id VARCHAR(64) PRIMARY KEY DEFAULT uuid_generate_v4(),
band_id VARCHAR(64) REFERENCES bands(id) ON DELETE CASCADE,
genre_id VARCHAR(64) REFERENCES genres(id) ON DELETE CASCADE,
band_id VARCHAR(64) NOT NULL REFERENCES bands(id) ON DELETE CASCADE,
genre_id VARCHAR(64) NOT NULL REFERENCES genres(id) ON DELETE CASCADE,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);
@ -61,8 +61,8 @@ ALTER TABLE bands_genres ADD CONSTRAINT band_genre_uniqkey UNIQUE (band_id, genr
-- musician -> band mapping
CREATE TABLE bands_musicians (
id VARCHAR(64) PRIMARY KEY DEFAULT uuid_generate_v4(),
band_id VARCHAR(64) REFERENCES bands(id) ON DELETE CASCADE,
user_id VARCHAR(64) REFERENCES users(id) ON DELETE CASCADE,
band_id VARCHAR(64) NOT NULL REFERENCES bands(id) ON DELETE CASCADE,
user_id VARCHAR(64) NOT NULL REFERENCES users(id) ON DELETE CASCADE,
admin BOOLEAN NOT NULL DEFAULT false,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP