+4
-4
packages/database/database.d.ts
+4
-4
packages/database/database.d.ts
···
5
5
6
6
import type { ColumnType } from "kysely";
7
7
8
-
export type Generated<T> =
9
-
T extends ColumnType<infer S, infer I, infer U>
10
-
? ColumnType<S, I | undefined, U>
11
-
: ColumnType<T, T | undefined, T>;
8
+
export type Generated<T> = T extends ColumnType<infer S, infer I, infer U>
9
+
? ColumnType<S, I | undefined, U>
10
+
: ColumnType<T, T | undefined, T>;
12
11
13
12
export type Timestamp = ColumnType<Date, Date | string, Date | string>;
14
13
···
30
29
export interface Plays {
31
30
id: Generated<number>;
32
31
indexed_at: Generated<Timestamp>;
32
+
live: boolean | null;
33
33
played_time: Timestamp;
34
34
release_name: string;
35
35
track_name: string;
+17
packages/database/migrations/1767547891854_track_record_status.ts
+17
packages/database/migrations/1767547891854_track_record_status.ts
···
1
+
import type { Kysely } from 'kysely'
2
+
3
+
// `any` is required here since migrations should be frozen in time. alternatively, keep a "snapshot" db interface.
4
+
export async function up(db: Kysely<any>): Promise<void> {
5
+
// up migration code goes here...
6
+
// note: up migrations are mandatory. you must implement this function.
7
+
// For more info, see: https://kysely.dev/docs/migrations
8
+
await db.schema.alterTable("plays").addColumn("live", "boolean").execute()
9
+
}
10
+
11
+
// `any` is required here since migrations should be frozen in time. alternatively, keep a "snapshot" db interface.
12
+
export async function down(db: Kysely<any>): Promise<void> {
13
+
// down migration code goes here...
14
+
// note: down migrations are optional. you can safely delete this function.
15
+
// For more info, see: https://kysely.dev/docs/migrations
16
+
await db.schema.alterTable("plays").dropColumn("live").execute()
17
+
}
+1
-1
packages/database/package.json
+1
-1
packages/database/package.json
···
17
17
"watch": "tsc --watch",
18
18
"build": "tsc",
19
19
"migrate": "kysely migrate latest",
20
-
"codegen": "kysely-codegen --dialect postgres --env-file='../../.env' --out-file ./database.d.ts",
20
+
"codegen": "kysely-codegen --dialect postgres --env-file='../.env' --out-file ./database.d.ts",
21
21
"seed": "tsx seed.ts",
22
22
"typecheck": "tsc --noEmit"
23
23
},