drizzle-team / drizzle-team/drizzle-orm

[FEATURE]: [cache] Enable execution of $cache.invalidate with transaction instances

Open
#4,580 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
TypeScript
Stars
35.8k
Forks
1.6k
Avg merge
2d 7h
Merged PRs (30d)
4

Description

### Feature hasn't been suggested before.

- [x] I have verified this feature I'm about to request hasn't been suggested before.

### Describe the enhancement you want to request

```ts
await db.transaction(async (tx) => {
// Currently, this operation does not execute onMutate
await tx.$cache.invalidate(...);
});
```

Is this a temporary limitation?
Or is this an official specification?

I often create these modules and find them somewhat inconvenient.

```ts
async function updateById(
tx: PgTransaction,
id: string,
data: Omit,
) {
await tx.update(table)
.set(data)
.where(eq(table.id, id);

await tx.$cache.invalidate({ tags: [`table:${id}`] }); // If this process runs I'll be happy.
}
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.