© 2026 Hedgehog Software, LLC

TwitterGitHubDiscord
More
CommunitiesDocsAboutTermsPrivacy
Search
Star
Setup for Free
Drizzle TeamDT
Drizzle Team•2y ago•
3 replies
stephen

Schema is "wrong" resulting in "foreign key mismatch" error

I generated my sqlite schema using
drizzle
drizzle
but now that I'm trying to use it, I'm getting a foreign key error.

Here's where it seems to error:

I added
export const menuRecipes = sqliteTable('menu_recipes', {
  id: text('id').$default(() => createId()).primaryKey(),
  menuId: text('menu_id').references(() => menus.id, { onDelete: "cascade" }).notNull(),
  recipeId: text('recipe_id').references(() => recipes.id, { onDelete: "cascade" }).notNull(),
  addedBy: text('added_by').references(() => users.id),
  createdDate: text('created_date').$default(() => toISO8601(new Date())),
  updatedDate: text('updated_date').$default(() => toISO8601(new Date())),
  menuCourseId: text('menu_course_id').references(() => menuCourses.id, { onUpdate: "cascade" }),
});

export const menuRecipesRelations = relations(menuRecipes, ({ one }) => ({
  menu: one(menus, { fields: [menuRecipes.menuId], references: [menus.id] }),
  recipe: one(recipes, { fields: [menuRecipes.recipeId], references: [recipes.id] }),
  user: one(users, { fields: [menuRecipes.addedBy], references: [users.id] }),
  menuCourse: one(menuCourses, { fields: [menuRecipes.menuCourseId], references: [menuCourses.id] }),
}));


export const menuCourseRecipes = sqliteTable('menu_course_recipes', {
  menuCourseId: text('menu_course_id').references(() => menuCourses.id, { onDelete: "cascade" }).notNull(),
  menuRecipeId: text('recipe_id').references(() => menuRecipes.id, { onDelete: "cascade" }).notNull(),
}, (t) => ({
  pk: primaryKey({ columns: [t.menuCourseId, t.menuRecipeId] }),
}));

export const menuCourseRecipesRelations = relations(menuCourseRecipes, ({ one }) => ({
  menuCourses: one(menuCourses, {
    fields: [menuCourseRecipes.menuCourseId],
    references: [menuCourses.id],
  }),
  menuRecipes: one(menuRecipes, {
    fields: [menuCourseRecipes.menuRecipeId],
    references: [menuRecipes.id],
  }),
}));
export const menuRecipes = sqliteTable('menu_recipes', {
  id: text('id').$default(() => createId()).primaryKey(),
  menuId: text('menu_id').references(() => menus.id, { onDelete: "cascade" }).notNull(),
  recipeId: text('recipe_id').references(() => recipes.id, { onDelete: "cascade" }).notNull(),
  addedBy: text('added_by').references(() => users.id),
  createdDate: text('created_date').$default(() => toISO8601(new Date())),
  updatedDate: text('updated_date').$default(() => toISO8601(new Date())),
  menuCourseId: text('menu_course_id').references(() => menuCourses.id, { onUpdate: "cascade" }),
});

export const menuRecipesRelations = relations(menuRecipes, ({ one }) => ({
  menu: one(menus, { fields: [menuRecipes.menuId], references: [menus.id] }),
  recipe: one(recipes, { fields: [menuRecipes.recipeId], references: [recipes.id] }),
  user: one(users, { fields: [menuRecipes.addedBy], references: [users.id] }),
  menuCourse: one(menuCourses, { fields: [menuRecipes.menuCourseId], references: [menuCourses.id] }),
}));


export const menuCourseRecipes = sqliteTable('menu_course_recipes', {
  menuCourseId: text('menu_course_id').references(() => menuCourses.id, { onDelete: "cascade" }).notNull(),
  menuRecipeId: text('recipe_id').references(() => menuRecipes.id, { onDelete: "cascade" }).notNull(),
}, (t) => ({
  pk: primaryKey({ columns: [t.menuCourseId, t.menuRecipeId] }),
}));

export const menuCourseRecipesRelations = relations(menuCourseRecipes, ({ one }) => ({
  menuCourses: one(menuCourses, {
    fields: [menuCourseRecipes.menuCourseId],
    references: [menuCourses.id],
  }),
  menuRecipes: one(menuRecipes, {
    fields: [menuCourseRecipes.menuRecipeId],
    references: [menuRecipes.id],
  }),
}));
Drizzle TeamJoin
The official Discord for all Drizzle related projects, such as Drizzle ORM, Drizzle Kit, Drizzle Studio and more!
11,879Members
Resources
Was this page helpful?

Similar Threads

Recent Announcements

Similar Threads

foreign key mismatch
Drizzle TeamDTDrizzle Team / help
2y ago
Specifying foreign key names in Schema
Drizzle TeamDTDrizzle Team / help
3y ago
foreign key
Drizzle TeamDTDrizzle Team / help
3y ago
Foreign key reference in drizzle causes type error
Drizzle TeamDTDrizzle Team / help
2y ago