Create ratings tables
This commit is contained in:
parent
9c90c683c6
commit
77a9c24dab
4 changed files with 130 additions and 1 deletions
|
|
@ -97,7 +97,7 @@ pub const Scrobble = jetquery.Model(
|
||||||
@This(),
|
@This(),
|
||||||
"scrobbles",
|
"scrobbles",
|
||||||
struct {
|
struct {
|
||||||
id: i64,
|
id: i32,
|
||||||
albumsong: i64,
|
albumsong: i64,
|
||||||
datetime: jetquery.DateTime,
|
datetime: jetquery.DateTime,
|
||||||
created_at: jetquery.DateTime,
|
created_at: jetquery.DateTime,
|
||||||
|
|
@ -146,3 +146,66 @@ pub const Artistsong = jetquery.Model(
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
|
pub const Albumrating = jetquery.Model(
|
||||||
|
@This(),
|
||||||
|
"albumratings",
|
||||||
|
struct {
|
||||||
|
id: i32,
|
||||||
|
album: i64,
|
||||||
|
rating: i16,
|
||||||
|
rating_text: []const u8,
|
||||||
|
date: jetquery.DateTime,
|
||||||
|
created_at: jetquery.DateTime,
|
||||||
|
updated_at: jetquery.DateTime,
|
||||||
|
},
|
||||||
|
.{
|
||||||
|
.relations = .{
|
||||||
|
.album = jetquery.belongsTo(.Album, .{
|
||||||
|
.foreign_key = "album",
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
pub const Artistrating = jetquery.Model(
|
||||||
|
@This(),
|
||||||
|
"artistratings",
|
||||||
|
struct {
|
||||||
|
id: i32,
|
||||||
|
artist: i64,
|
||||||
|
rating: i16,
|
||||||
|
rating_text: []const u8,
|
||||||
|
date: jetquery.DateTime,
|
||||||
|
created_at: jetquery.DateTime,
|
||||||
|
updated_at: jetquery.DateTime,
|
||||||
|
},
|
||||||
|
.{
|
||||||
|
.relations = .{
|
||||||
|
.artist = jetquery.belongsTo(.Artist, .{
|
||||||
|
.foreign_key = "artist",
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
pub const Songrating = jetquery.Model(
|
||||||
|
@This(),
|
||||||
|
"songratings",
|
||||||
|
struct {
|
||||||
|
id: i32,
|
||||||
|
song: i64,
|
||||||
|
rating: i16,
|
||||||
|
rating_text: []const u8,
|
||||||
|
date: jetquery.DateTime,
|
||||||
|
created_at: jetquery.DateTime,
|
||||||
|
updated_at: jetquery.DateTime,
|
||||||
|
},
|
||||||
|
.{
|
||||||
|
.relations = .{
|
||||||
|
.albumsong = jetquery.belongsTo(.Albumsong, .{
|
||||||
|
.foreign_key = "song",
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
const std = @import("std");
|
||||||
|
const jetquery = @import("jetquery");
|
||||||
|
const t = jetquery.schema.table;
|
||||||
|
|
||||||
|
pub fn up(repo: anytype) !void {
|
||||||
|
try repo.createTable(
|
||||||
|
"songratings",
|
||||||
|
&.{
|
||||||
|
t.primaryKey("id", .{}),
|
||||||
|
t.column("song", .bigint, .{ .reference = .{ "albumsongs", "id" } }),
|
||||||
|
t.column("rating", .smallint, .{}),
|
||||||
|
t.column("rating_text", .text, .{}),
|
||||||
|
t.column("date", .datetime, .{}),
|
||||||
|
t.timestamps(.{}),
|
||||||
|
},
|
||||||
|
.{},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn down(repo: anytype) !void {
|
||||||
|
try repo.dropTable("songratings", .{});
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
const std = @import("std");
|
||||||
|
const jetquery = @import("jetquery");
|
||||||
|
const t = jetquery.schema.table;
|
||||||
|
|
||||||
|
pub fn up(repo: anytype) !void {
|
||||||
|
try repo.createTable(
|
||||||
|
"albumratings",
|
||||||
|
&.{
|
||||||
|
t.primaryKey("id", .{}),
|
||||||
|
t.column("album", .bigint, .{ .reference = .{ "albums", "id" } }),
|
||||||
|
t.column("rating", .smallint, .{}),
|
||||||
|
t.column("rating_text", .text, .{}),
|
||||||
|
t.column("date", .datetime, .{}),
|
||||||
|
t.timestamps(.{}),
|
||||||
|
},
|
||||||
|
.{},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn down(repo: anytype) !void {
|
||||||
|
try repo.dropTable("albumratings", .{});
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
const std = @import("std");
|
||||||
|
const jetquery = @import("jetquery");
|
||||||
|
const t = jetquery.schema.table;
|
||||||
|
|
||||||
|
pub fn up(repo: anytype) !void {
|
||||||
|
try repo.createTable(
|
||||||
|
"artistratings",
|
||||||
|
&.{
|
||||||
|
t.primaryKey("id", .{}),
|
||||||
|
t.column("artist", .bigint, .{ .reference = .{ "artists", "id" } }),
|
||||||
|
t.column("rating", .smallint, .{}),
|
||||||
|
t.column("rating_text", .text, .{}),
|
||||||
|
t.column("date", .datetime, .{}),
|
||||||
|
t.timestamps(.{}),
|
||||||
|
},
|
||||||
|
.{},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn down(repo: anytype) !void {
|
||||||
|
try repo.dropTable("artistratings", .{});
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue