The birthday paradox is a real problem with the size of our datasets. i64 is the largest numerical value we can use, and there's a 0.1% chance of collision with ~2,000,000 values, so I feel pretty comfortable with this
20 lines
554 B
Zig
20 lines
554 B
Zig
const std = @import("std");
|
|
const jetquery = @import("jetquery");
|
|
const t = jetquery.schema.table;
|
|
|
|
pub fn up(repo: anytype) !void {
|
|
try repo.createTable(
|
|
"albumsongs",
|
|
&.{
|
|
t.primaryKey("id", .{ .type = .bigint }),
|
|
t.column("song_id", .bigint, .{ .reference = .{ "songs", "id" } }),
|
|
t.column("album_id", .bigint, .{ .reference = .{ "albums", "id" } }),
|
|
t.timestamps(.{}),
|
|
},
|
|
.{},
|
|
);
|
|
}
|
|
|
|
pub fn down(repo: anytype) !void {
|
|
try repo.dropTable("albumsongs", .{});
|
|
}
|