bot/src/modules/database/run.ts
2024-06-27 20:40:36 +09:00

14 lines
313 B
TypeScript

import { type PoolConnection } from 'mysql2/promise'
export default async function run(db: PoolConnection, fn: () => Promise<any>) {
try {
await db.beginTransaction()
await fn()
await db.commit()
} catch (err) {
console.error(err)
await db.rollback()
} finally {
db.release()
}
}