drizzle-team / drizzle-team/drizzle-orm

[BUG]:No overload matches this call.

Open
#4,229 4 comments 0 reactions 0 assignees View on GitHub
bug priority qb/crud
Dominant language
TypeScript
Stars
35.8k
Forks
1.6k
Avg merge
2d 7h
Merged PRs (30d)
4

Description

### Report hasn't been filed before.

- [x] I have verified that the bug I'm about to report hasn't been filed before.

### What version of `drizzle-orm` are you using?

0.40.0

### What version of `drizzle-kit` are you using?

0.30.2

### Other packages

_No response_

### Describe the Bug

I'm using sveltekit with superforms and zod as client side validation of form. I have created two schemas as

`
import { pgTable, text, integer, timestamp, boolean, numeric, pgEnum } from 'drizzle-orm/pg-core';

export const genderEnum = pgEnum('gender', ['Male', 'Female', 'Prefer not to say']);

export const governmentIdTypeEnum = pgEnum('government_id_type', [
'Aadhar Card',
'PAN Card',
'Voter Card',
'Passport',
'Driving License',
'Ration card',
'Student ID Card',
'Employee ID Card',
'Disabled ID Card',
'Senior Citizen Card',
'Armed Forces ID Card'
]);

export const visitors = pgTable('visitors', {
id: text('id').primaryKey(),
firstname: text('firstname').notNull(),
lastname: text('lastname').notNull(),
phonenumber: text('phone_number').notNull().unique(),
email: text('email'),
address: text('address').notNull(),
age: numeric('age').notNull(),
gender: genderEnum('gender').default('Male').notNull(),
governmentidtype: governmentIdTypeEnum('government_id_type').default('Aadhar Card').notNull(),
governmentidnumber: text('government_id_number').notNull()
});

export const visitorEntries = pgTable('visitor_entries', {
id: text('id').primaryKey(),
visitorId: text('visitor_id')
.references(() => visitors.id)
.notNull(),
dateofvisit: text('date_of_visit').notNull(),
intime: text('in_time').default('12:00').notNull(),
outtime: text('out_time').default('12:00'),
reason: text('reason').notNull(),
host: text('host').notNull(),
vehiclenumber: text('vehicle_number'),
belongings: text('belongings')
});
export type Visitor = typeof visitors.$inferSelect;
export type VisitorEntry = typeof visitorEntries.$inferSelect;
`
then created a file +page.server.ts

`
import { visitorSchema } from '$lib/client/schema';
import { db } from '$lib/server/db/index.ts';
import { visitorEntries, visitors } from '$lib/server/db/schema.js';
import { eq } from 'drizzle-orm';
import { superValidate, fail, message } from 'sveltekit-superforms';
import { zod } from 'sveltekit-superforms/adapters';

export const actions = {
default: async (event) => {
const form = await superValidate(event, zod(visitorSchema));

if (!form.valid) {
return fail(400, { form });
}

try {
const [existingVisitor] = await db
.select()
.from(visitors)
.where(eq(visitors.phonenumber, form.data.phonenumber));
let visitorId = '';
if (!existingVisitor) {
visitorId = crypto.randomUUID();
await db.insert(visitors).values({
id: visitorId,
firstname: form.data.firstname,
lastname: form.data.lastname,
phonenumber: form.data.phonenumber,
email: form.data.email,
address: form.data.address,
age: form.data.age,
gender: form.data.gender,
governmentidtype: form.data.governmentidtype,
governmentidnumber: form.data.governmentidnumber
});
} else {
visitorId = existingVisitor.id;
}
const visitorEntryId = crypto.randomUUID();
await db.insert(visitorEntries).values({
id: visitorEntryId,
visitorId,
dateofvisit: form.data.dateofvisit,
intime: form.data.intime,
outtime: form.data.outtime,
reason: form.data.reason,
host: form.data.host,
vehiclenumber: form.data.vehiclenumber,
belongings: form.data.belongings
});

return message(form, 'Visitor not found');
} catch (error) {
console.error(error);
return message(form, 'An error occurred while submitting the form', {
status: 500
});
}
}
};
`

in line
`
await db.insert(visitors).values({
id: visitorId,
firstname: form.data.firstname,
lastname: form.data.lastname,
phonenumber: form.data.phonenumber,
email: form.data.email,
address: form.data.address,
age: form.data.age,
gender: form.data.gender,
governmentidtype: form.data.governmentidtype,
governmentidnumber: form.data.governmentidnumber
});
`

> No overload matches this call.
Overload 2 of 2, '(values: { id: string | SQL | Placeholder; firstname: string | SQL | Placeholder; lastname: string | SQL | Placeholder<...>; ... 6 more ...; governmentidtype?: "Aadhar Card" | ... 12 more ... | undefined; }[]): PgInsertBase<...>', gave the following error.
Object literal may only specify known properties, and 'id' does not exist in type '{ id: string | SQL | Placeholder; firstname: string | SQL | Placeholder; lastname: string | SQL | Placeholder<...>; ... 6 more ...; governmentidtype?: "Aadhar Card" | ... 12 more ... | undefined; }[]'.ts(2769)
(property) id: string | SQL | Placeholder

see image for reference

![Image](https://github.com/user-attachments/assets/36107e82-a38a-44db-9e8d-a9090b2e1465)

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.