diff --git a/src/app/database/Schema.zig b/src/app/database/Schema.zig index 7e30fee..764a544 100644 --- a/src/app/database/Schema.zig +++ b/src/app/database/Schema.zig @@ -22,18 +22,20 @@ pub const Album = jetquery.Model( song_num: i32, length: f64, play_count: i32, - score: f64, - avg_song_score: f64, - url: []const u8, holiday: bool, compilation: bool, - collaboration: bool, + deluxe: bool, + live: bool, created_at: jetquery.DateTime, updated_at: jetquery.DateTime, }, .{ .relations = .{ .scrobbles = jetquery.hasMany(.Scrobble, .{}), + .ratings = jetquery.hasMany(.Ratings, .{}), + .aliases = jetquery.hasMany(.Aliases, .{}), + .songs = jetquery.hasMany(.AlbumSongs, .{}), + .artists = jetquery.hasMany(.ArtistAlbums, .{}), }, }, ); @@ -73,16 +75,16 @@ pub const Artist = jetquery.Model( album_num: i32, song_num: i32, play_count: i32, - avg_album_score: f64, - avg_song_score: f64, - url: []const u8, - aliased: bool, created_at: jetquery.DateTime, updated_at: jetquery.DateTime, }, .{ .relations = .{ .scrobbles = jetquery.hasMany(.Scrobble, .{}), + .aliases = jetquery.hasMany(.Aliases, .{}), + .concerts = jetquery.hasMany(.Concerts, .{}), + .songs = jetquery.hasMany(.ArtistSongs, .{}), + .albums = jetquery.hasMany(.ArtistAlbums, .{}), }, }, ); @@ -110,21 +112,46 @@ pub const Song = jetquery.Model( "songs", struct { id: i32, - name: []const u8, - play_count: i32, + title: []const u8, length: f64, - score: f64, - url: []const u8, - aliased: bool, - track_num: i32, hidden: bool, holiday: bool, + play_count: i32, created_at: jetquery.DateTime, updated_at: jetquery.DateTime, }, .{ .relations = .{ .scrobbles = jetquery.hasMany(.Scrobble, .{}), + .ratings = jetquery.hasMany(.Ratings, .{}), + .aliases = jetquery.hasMany(.Aliases, .{}), + .artists = jetquery.hasMany(.ArtistSongs, .{}), + .albums = jetquery.hasMany(.AlbumSongs, .{}), }, }, ); + +pub const Alias = jetquery.Model(@This(), "aliases", struct { + id: i32, + reference_id: i32, + alias: []const u8, + created_at: jetquery.DateTime, + updated_at: jetquery.DateTime, +}, .{}); + +pub const Concert = jetquery.Model(@This(), "concerts", struct { + id: i32, + location: []const u8, + date: jetquery.DateTime, + created_at: jetquery.DateTime, + updated_at: jetquery.DateTime, +}, .{}); + +pub const Rating = jetquery.Model(@This(), "ratings", struct { + id: i32, + reference_id: i32, + score: f64, + date: jetquery.DateTime, + created_at: jetquery.DateTime, + updated_at: jetquery.DateTime, +}, .{}); diff --git a/src/app/database/migrations/2024-11-15_14-46-12_create_artists.zig b/src/app/database/migrations/2024-11-15_14-46-12_create_artists.zig index 224877b..db0ceae 100644 --- a/src/app/database/migrations/2024-11-15_14-46-12_create_artists.zig +++ b/src/app/database/migrations/2024-11-15_14-46-12_create_artists.zig @@ -11,10 +11,6 @@ pub fn up(repo: anytype) !void { t.column("album_num", .integer, .{}), t.column("song_num", .integer, .{}), t.column("play_count", .integer, .{}), - t.column("avg_album_score", .float, .{}), - t.column("avg_song_score", .float, .{}), - t.column("url", .string, .{}), - t.column("aliased", .boolean, .{}), t.timestamps(.{}), }, .{}, diff --git a/src/app/database/migrations/2024-11-15_14-58-47_create_songs.zig b/src/app/database/migrations/2024-11-15_14-58-47_create_songs.zig index 4852b4d..d34bc30 100644 --- a/src/app/database/migrations/2024-11-15_14-58-47_create_songs.zig +++ b/src/app/database/migrations/2024-11-15_14-58-47_create_songs.zig @@ -7,15 +7,11 @@ pub fn up(repo: anytype) !void { "songs", &.{ t.primaryKey("id", .{}), - t.column("name", .string, .{}), - t.column("play_count", .integer, .{}), + t.column("title", .string, .{}), t.column("length", .float, .{}), - t.column("score", .float, .{}), - t.column("url", .string, .{}), - t.column("aliased", .boolean, .{}), - t.column("track_num", .integer, .{}), t.column("hidden", .boolean, .{}), t.column("holiday", .boolean, .{}), + t.column("play_count", .integer, .{}), t.timestamps(.{}), }, .{}, diff --git a/src/app/database/migrations/2024-11-20_19-08-02_create_albums.zig b/src/app/database/migrations/2024-11-20_19-08-02_create_albums.zig index 292793e..a18ca74 100644 --- a/src/app/database/migrations/2024-11-20_19-08-02_create_albums.zig +++ b/src/app/database/migrations/2024-11-20_19-08-02_create_albums.zig @@ -11,12 +11,10 @@ pub fn up(repo: anytype) !void { t.column("song_num", .integer, .{}), t.column("length", .float, .{}), t.column("play_count", .integer, .{}), - t.column("score", .float, .{}), - t.column("avg_song_score", .float, .{}), - t.column("url", .string, .{}), t.column("holiday", .boolean, .{}), t.column("compilation", .boolean, .{}), - t.column("collaboration", .boolean, .{}), + t.column("deluxe", .boolean, .{}), + t.column("live", .boolean, .{}), t.timestamps(.{}), }, .{}, diff --git a/src/app/database/migrations/2024-11-21_23-49-05_create_concerts.zig b/src/app/database/migrations/2024-11-21_23-49-05_create_concerts.zig index 824b8d6..8eb782e 100644 --- a/src/app/database/migrations/2024-11-21_23-49-05_create_concerts.zig +++ b/src/app/database/migrations/2024-11-21_23-49-05_create_concerts.zig @@ -7,7 +7,6 @@ pub fn up(repo: anytype) !void { "concerts", &.{ t.primaryKey("id", .{}), - t.column("id", .integer, .{}), t.column("location", .string, .{}), t.column("date", .datetime, .{}), t.timestamps(.{}),