Create DB tables for likes and dislikes

This commit is contained in:
Ethan Girouard 2024-05-10 16:03:18 -04:00
parent 60ad643669
commit 727029b757
Signed by: eta357
GPG Key ID: 7BCDC36DFD11C146
3 changed files with 33 additions and 0 deletions

View File

@ -0,0 +1,2 @@
DROP TABLE song_likes;
DROP TABLE song_dislikes;

View File

@ -0,0 +1,11 @@
CREATE TABLE song_likes (
song_id INTEGER REFERENCES songs(id) ON DELETE CASCADE NOT NULL,
user_id INTEGER REFERENCES users(id) ON DELETE CASCADE NOT NULL,
PRIMARY KEY (song_id, user_id)
);
CREATE TABLE song_dislikes (
song_id INTEGER REFERENCES songs(id) ON DELETE CASCADE NOT NULL,
user_id INTEGER REFERENCES users(id) ON DELETE CASCADE NOT NULL,
PRIMARY KEY (song_id, user_id)
);

View File

@ -29,6 +29,20 @@ diesel::table! {
} }
} }
diesel::table! {
song_dislikes (song_id, user_id) {
song_id -> Int4,
user_id -> Int4,
}
}
diesel::table! {
song_likes (song_id, user_id) {
song_id -> Int4,
user_id -> Int4,
}
}
diesel::table! { diesel::table! {
songs (id) { songs (id) {
id -> Int4, id -> Int4,
@ -56,6 +70,10 @@ diesel::joinable!(album_artists -> albums (album_id));
diesel::joinable!(album_artists -> artists (artist_id)); diesel::joinable!(album_artists -> artists (artist_id));
diesel::joinable!(song_artists -> artists (artist_id)); diesel::joinable!(song_artists -> artists (artist_id));
diesel::joinable!(song_artists -> songs (song_id)); diesel::joinable!(song_artists -> songs (song_id));
diesel::joinable!(song_dislikes -> songs (song_id));
diesel::joinable!(song_dislikes -> users (user_id));
diesel::joinable!(song_likes -> songs (song_id));
diesel::joinable!(song_likes -> users (user_id));
diesel::joinable!(songs -> albums (album_id)); diesel::joinable!(songs -> albums (album_id));
diesel::allow_tables_to_appear_in_same_query!( diesel::allow_tables_to_appear_in_same_query!(
@ -63,6 +81,8 @@ diesel::allow_tables_to_appear_in_same_query!(
albums, albums,
artists, artists,
song_artists, song_artists,
song_dislikes,
song_likes,
songs, songs,
users, users,
); );