drizzle-team / drizzle-team/drizzle-orm
[BUG]:No overload matches this call.
- 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

Contributor guide
Assessment
This issue has not been assessed yet.