Can I .prepare() a transaction?
Surprisingly I can call prepare inside transaction callback but it doesn't make sense to me since we usually using prepare() as a variable out of block scope.
await db.transaction(async (tx) => {
const q1 = tx.update(...).set(...).where(...).prepare();
const q2 = tx.insert(...).values(...).prepare();
await q1.execute();
await q2.execute();
});db.<...>.prepare() outside the transaction sets up the connection from the pool or notdb.<...>.prepare()const insertScoreCard = (db: DatabaseClient) => db.insert(scoreCards).values({ .. }).prepare('insert_score_card');
export const createScorecard = (dbClient: DatabaseClient) => async () => {
await dbClient.transaction(async (trx: PostgresTransaction) => {
const db: DatabaseClient = trx.session.client;
// Prepare the statements for scorecards
const insertStatement = insertScoreCard(db);
const insertedScoreCard = await insertStatement.run(newScoreCard);
...
};