import { Kysely, sql } from "kysely"; export async function up(db: Kysely): Promise { await db.schema .createTable("SignalBot") .addColumn("id", "uuid", (col) => col.primaryKey().defaultTo(sql`gen_random_uuid()`), ) .addColumn("phone_number", "text") .addColumn("token", "text", (col) => col.unique().notNull()) .addColumn("user_id", "uuid") .addColumn("name", "text") .addColumn("description", "text") .addColumn("auth_info", "text") .addColumn("is_verified", "boolean", (col) => col.notNull().defaultTo(false), ) .addColumn("created_at", "timestamptz", (col) => col.notNull().defaultTo(sql`now()`), ) .addColumn("updated_at", "timestamptz", (col) => col.notNull().defaultTo(sql`now()`), ) .execute(); await db.schema .createIndex("SignalBotToken") .on("SignalBot") .column("token") .execute(); } export async function down(db: Kysely): Promise { await db.schema.dropTable("SignalBot").ifExists().execute(); }