diff --git a/src/db/migrations/027_add_zap_events.ts b/src/db/migrations/027_add_zap_events.ts new file mode 100644 index 00000000..058e6baf --- /dev/null +++ b/src/db/migrations/027_add_zap_events.ts @@ -0,0 +1,26 @@ +import { Kysely } from 'kysely'; + +export async function up(db: Kysely): Promise { + await db.schema + .createTable('event_zaps') + .ifNotExists() + .addColumn('receipt_id', 'text', (col) => col.primaryKey()) + .addColumn('target_event_id', 'text', (col) => col.notNull()) + .addColumn('sender_pubkey', 'text', (col) => col.notNull()) + .addColumn('amount', 'integer', (col) => col.notNull()) + .addColumn('comment', 'text', (col) => col.notNull()) + .execute(); + + await db.schema + .createIndex('idx_event_zaps_id_amount') + .on('event_zaps') + .column('amount') + .column('target_event_id') + .ifNotExists() + .execute(); +} + +export async function down(db: Kysely): Promise { + await db.schema.dropIndex('idx_event_zaps_id_amount').execute(); + await db.schema.dropTable('event_zaps').execute(); +}