instructions
0.10 → 0.11 — User upgrade instructions
Starting at the 0.11 release, the .insert() method on the SQL builder accepts only an array of row objects. The single object overload that previously allowed .insert({ field: value }) is removed.
Set up
Skills are installed by placing their folder where your agent loads skills.
Part of the collection prisma/prisma-next.
Copy the text of instructions.md into the instructions file your agent reads (CLAUDE.md, AGENTS.md, .cursor/rules, …). Written for AI coding agents in general (from where the project keeps it; we have not run it).
README
synced Oct 14, 20260.10 → 0.11 — User upgrade instructions
insert-single-row-wrap-in-array
Starting at the 0.11 release, the .insert() method on the SQL builder accepts only an array of row objects. The single-object overload that previously allowed .insert({ field: value }) is removed.
Before 0.11:
await runtime.execute(db.sql.user.insert({ email: 'alice@example.com' }).build());
Starting at 0.11:
await runtime.execute(db.sql.user.insert([{ email: 'alice@example.com' }]).build());
Walk every .ts / .tsx file matched by the detection.glob above. For each call site that passes a plain object directly to .insert(...), wrap the argument in an array:
.insert(row)→.insert([row]).insert({ field: value })→.insert([{ field: value }])
Variable references to a row object are safe to wrap directly:
// Before
for (const item of items) {
await runtime.execute(db.sql.table.insert(item).build());
}
// After
for (const item of items) {
await runtime.execute(db.sql.table.insert([item]).build());
}
If a call site already passes an array (.insert([row1, row2])), it is already correct — leave it unchanged.
TypeScript will flag bare-object call sites as type errors after the bump, providing a reliable compile-time signal for every affected site.
Validation
After applying the rule above, run pnpm typecheck && pnpm test (or your application's equivalent). The change is mechanical — every affected call site is flagged at compile time.