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

I generated my sqlite schema using 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],
  }),
}));
Was this page helpful?