import { Kysely, sql } from 'kysely' export async function up(db: Kysely): Promise { await db.schema .createTable('list_block') .addColumn('uri', 'varchar', (col) => col.primaryKey()) .addColumn('cid', 'varchar', (col) => col.notNull()) .addColumn('creator', 'varchar', (col) => col.notNull()) .addColumn('subjectUri', 'varchar', (col) => col.notNull()) .addColumn('createdAt', 'varchar', (col) => col.notNull()) .addColumn('indexedAt', 'varchar', (col) => col.notNull()) .addColumn('sortAt', 'varchar', (col) => col .generatedAlwaysAs(sql`least("createdAt", "indexedAt")`) .stored() .notNull(), ) .addUniqueConstraint('list_block_unique_subject', ['creator', 'subjectUri']) .execute() } export async function down(db: Kysely): Promise { await db.schema.dropTable('list_block').execute() }