mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-07-18 16:43:56 -05:00
Calendar tables migration
This commit is contained in:
parent
12c86ff15e
commit
bf291cc5a0
|
|
@ -76,3 +76,31 @@ export interface BadgeManager {
|
|||
badgeId: number;
|
||||
userId: number;
|
||||
}
|
||||
|
||||
export interface CalendarEvent {
|
||||
id: number;
|
||||
name: string;
|
||||
authorId: number;
|
||||
description: string | null;
|
||||
discordUrl: string | null;
|
||||
bracketUrl: string | null;
|
||||
participantCount: number | null;
|
||||
}
|
||||
|
||||
export interface CalendarEventDate {
|
||||
eventId: number;
|
||||
startTime: number;
|
||||
}
|
||||
|
||||
export interface CalendarEventWinner {
|
||||
eventId: number;
|
||||
teamName: string;
|
||||
placement: number;
|
||||
userId: number | null;
|
||||
name: string | null;
|
||||
}
|
||||
|
||||
export interface CalendarEventBadge {
|
||||
eventId: number;
|
||||
badgeId: number;
|
||||
}
|
||||
|
|
|
|||
63
migrations/006-calendar.js
Normal file
63
migrations/006-calendar.js
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
module.exports.up = function (db) {
|
||||
db.prepare(
|
||||
`
|
||||
create table "CalendarEvent" (
|
||||
"id" integer primary key,
|
||||
"name" text not null,
|
||||
"authorId" integer not null,
|
||||
"description" text,
|
||||
"discordUrl" text,
|
||||
"bracketUrl" text,
|
||||
"participantCount" integer,
|
||||
foreign key ("authorId") references "User"("id") on delete restrict
|
||||
) strict
|
||||
`
|
||||
).run();
|
||||
|
||||
db.prepare(
|
||||
`
|
||||
create table "CalendarEventDate" (
|
||||
"eventId" integer primary key,
|
||||
"startTime" integer not null,
|
||||
foreign key ("eventId") references "CalendarEvent"("id") on delete cascade
|
||||
) strict
|
||||
`
|
||||
).run();
|
||||
|
||||
db.prepare(
|
||||
`
|
||||
create table "CalendarEventWinner" (
|
||||
"eventId" integer primary key,
|
||||
"teamName" text not null,
|
||||
"placement" integer not null,
|
||||
"userId" integer,
|
||||
"name" text,
|
||||
foreign key ("eventId") references "CalendarEvent"("id") on delete cascade,
|
||||
foreign key ("userId") references "User"("id") on delete cascade
|
||||
) strict
|
||||
`
|
||||
).run();
|
||||
|
||||
db.prepare(
|
||||
`
|
||||
create table "CalendarEventBadge" (
|
||||
"eventId" integer primary key,
|
||||
"badgeId" integer not null,
|
||||
foreign key ("eventId") references "CalendarEvent"("id") on delete cascade,
|
||||
foreign key ("badgeId") references "Badge"("id") on delete restrict,
|
||||
unique("eventId", "badgeId") on conflict rollback
|
||||
) strict
|
||||
`
|
||||
).run();
|
||||
};
|
||||
|
||||
module.exports.down = function (db) {
|
||||
for (const table of [
|
||||
"CalendarEventDate",
|
||||
"CalendarEventWinner",
|
||||
"CalendarEventBadge",
|
||||
"CalendarEvent",
|
||||
]) {
|
||||
db.prepare(`drop table "${table}"`).run();
|
||||
}
|
||||
};
|
||||
Loading…
Reference in New Issue
Block a user