import { sql } from "kysely";
import type { Kysely } from "kysely";

export async function up(db: Kysely<any>): Promise<void> {
  await db.schema
    .createTable("holding_account_balances")
    .addColumn("account_no", "varchar(255)", (col) => col.primaryKey())
    .addColumn("region", "varchar(50)", (col) => col.notNull())
    .addColumn("balance", "integer", (col) => col.notNull().defaultTo(0))
    .addColumn("last_synced_at", "timestamp", (col) => col.notNull().defaultTo(sql`CURRENT_TIMESTAMP`))
    .execute();
}

export async function down(db: Kysely<any>): Promise<void> {
  await db.schema.dropTable("holding_account_balances").execute();
}
