I do not understand relations 😟 (many to many, users can follow and have followers)

export const usersTable = sqliteTable('users', {
  id: text('id').primaryKey(),
  username: text('username'),
})

export const usersRelations = relations(usersTable, ({ many }) => ({
  questions: many(questionsTable),
  followers: many(usersTable, { relationName: 'followers' }),
  following: many(usersTable, { relationName: 'following' }),
}))

export const usersToUsersTable = sqliteTable('users_to_users', {
  followedId: text('followed_id')
    .notNull()
    .references(() => usersTable.id),
  followerId: text('follower_id')
    .notNull()
    .references(() => usersTable.id),
})

export const usersToUsersRelations = relations(usersToUsersTable, ({ one }) => ({
  followed: one(usersTable, {
    fields: [usersToUsersTable.followedId],
    references: [usersTable.id],
    relationName: 'followers',
  }),
  follower: one(usersTable, {
    fields: [usersToUsersTable.followerId],
    references: [usersTable.id],
    relationName: 'following',
  }),
}))


this is the code I tried but I messed up the relations and the error says the following:
  throw new Error(
        ^

Error: There is not enough information to infer relation "__public__.usersTable.followers"
    at normalizeRelation (C:\dev\web\next\selowafelnoe\node_modules\drizzle-orm\relations.cjs:261:9)
    at C:\dev\web\next\selowafelnoe\node_modules\@drizzle-team\studio\index.js:73:67
    at Array.map (<anonymous>)
    at C:\dev\web\next\selowafelnoe\node_modules\@drizzle-team\studio\index.js:72:42
    at Array.map (<anonymous>)
    at extractRelations (C:\dev\web\next\selowafelnoe\node_modules\@drizzle-team\studio\index.js:71:51)
    at sqliteQueryEngine (C:\dev\web\next\selowafelnoe\node_modules\@drizzle-team\studio\index.js:293:16)
    at queryEngineForSetup (C:\dev\web\next\selowafelnoe\node_modules\@drizzle-team\studio\index.js:716:12)
    at Command.<anonymous> (C:\dev\web\next\selowafelnoe\node_modules\drizzle-kit\bin.cjs:63755:62)
Was this page helpful?