Scratch space for learning atproto app development
1import type { Kysely, Migration, MigrationProvider } from 'kysely'
2
3const migrations: Record<string, Migration> = {}
4
5export const migrationProvider: MigrationProvider = {
6 async getMigrations() {
7 return migrations
8 },
9}
10
11migrations['001'] = {
12 async up(db: Kysely<unknown>) {
13 await db.schema
14 .createTable('post')
15 .addColumn('uri', 'varchar', (col) => col.primaryKey())
16 .addColumn('text', 'varchar', (col) => col.notNull())
17 .addColumn('indexedAt', 'varchar', (col) => col.notNull())
18 .execute()
19 await db.schema
20 .createTable('auth_session')
21 .addColumn('key', 'varchar', (col) => col.primaryKey())
22 .addColumn('session', 'varchar', (col) => col.notNull())
23 .execute()
24 await db.schema
25 .createTable('auth_state')
26 .addColumn('key', 'varchar', (col) => col.primaryKey())
27 .addColumn('state', 'varchar', (col) => col.notNull())
28 .execute()
29 },
30 async down(db: Kysely<unknown>) {
31 await db.schema.dropTable('auth_state').execute()
32 await db.schema.dropTable('auth_session').execute()
33 await db.schema.dropTable('post').execute()
34 },
35}