A website inspired by Last.fm that will keep track of your listening statistics
lastfm music statistics
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Update migrations because I used timestamp for some sqlite migrations (should be text). Also add relationship table for mixtapes and recordings.

oscar345 74ea6081 891a3c20

+31 -5
+2 -3
private/migrations/app/20260113080115_create_artist_followers.sql
··· 1 1 -- +goose Up 2 2 -- +goose StatementBegin 3 3 CREATE TABLE artist_followers ( 4 - artist_id INTEGER NOT NULL, 4 + artist_mbid TEXT NOT NULL, 5 5 user_id INTEGER NOT NULL, 6 - created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, 6 + created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, 7 7 PRIMARY KEY (artist_id, user_id), 8 - FOREIGN KEY (artist_id) REFERENCES artists(id), 9 8 FOREIGN KEY (user_id) REFERENCES users(id) 10 9 ); 11 10
+7 -1
private/migrations/app/20260113080132_create_release_group_likes.sql
··· 1 1 -- +goose Up 2 2 -- +goose StatementBegin 3 - SELECT 'up SQL query'; 3 + CREATE TABLE release_group_likes ( 4 + release_group_mbid TEXT NOT NULL, 5 + user_id INTEGER NOT NULL, 6 + created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, 7 + PRIMARY KEY (release_group_mbid, user_id), 8 + FOREIGN KEY (user_id) REFERENCES users (id) 9 + ); 4 10 -- +goose StatementEnd 5 11 6 12 -- +goose Down
+1 -1
private/migrations/app/20260113080142_create_recording_likes.sql
··· 3 3 CREATE TABLE recording_likes ( 4 4 recording_mbid TEXT NOT NULL, 5 5 user_id TEXT NOT NULL, 6 - created TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW(), 6 + created TEXT WITH TIME ZONE NOT NULL DEFAULT NOW(), 7 7 PRIMARY KEY (recording_mbid, user_id) 8 8 ); 9 9
+21
private/migrations/app/20260114161552_create_mixtape_recordings.sql
··· 1 + -- +goose Up 2 + -- +goose StatementBegin 3 + CREATE TABLE mixtape_recordings ( 4 + id INTEGER PRIMARY KEY AUTOINCREMENT, 5 + mixtape_id INTEGER NOT NULL, 6 + recording_mbid TEXT NOT NULL, 7 + order INTEGER NOT NULL, 8 + created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, 9 + updated_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP, 10 + FOREIGN KEY (mixtape_id) REFERENCES mixtapes(id) 11 + ); 12 + 13 + CREATE INDEX idx__mixtape_recordings__mixtape_id ON mixtape_recordings(mixtape_id); 14 + CREATE INDEX idx__mixtape_recordings__recording_mbid ON mixtape_recordings(recording_mbid); 15 + CREATE INDEX idx__mixtape_recordings__order_asc ON mixtape_recordings(order ASC); 16 + -- +goose StatementEnd 17 + 18 + -- +goose Down 19 + -- +goose StatementBegin 20 + DROP TABLE mixtape_recordings; 21 + -- +goose StatementEnd