© 2026 Hedgehog Software, LLC

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

new to drizzle, need help with relations

I'm new to drizzle, can anyone explain why this code errors
// Example model schema from the Drizzle docs
// https://orm.drizzle.team/docs/sql-schema-declaration

import { create } from "domain";
import { sql, relations } from "drizzle-orm";
import {
  index,
  pgEnum,
  pgTableCreator,
  primaryKey,
  serial,
  timestamp,
  varchar,
} from "drizzle-orm/pg-core";

/**
 * This is an example of how to use the multi-project schema feature of Drizzle ORM. Use the same
 * database instance for multiple projects.
 *
 * @see https://orm.drizzle.team/docs/goodies#multi-project-schema
 */
export const createTable = pgTableCreator((name) => `loggy_${name}`);

export const users = createTable("users", {
  id: varchar("id").primaryKey(),
  username: varchar("username", { length: 255 }).notNull(),
});

export const usersRelations = relations(users, ({ many }) => ({
  usersToGuilds: many(usersToGuilds),
}));

export const guilds = createTable("guilds", {
  id: varchar("id").primaryKey(),
  name: varchar("name", { length: 255 }).notNull(),
});

export const usersToGuilds = createTable(
  "users_to_guilds",
  {
    userId: varchar("user_id")
      .notNull()
      .references(() => users.id),
    guildId: varchar("guild_id")
      .notNull()
      .references(() => guilds.id),
  },
  (t) => ({
    pk: primaryKey({ columns: [t.userId, t.guildId] }),
  }),
);

export const guildsRelations = relations(guilds, ({ many }) => ({
  usersToGuilds: many(usersToGuilds),
}));

export const messages = createTable("messages", {
  id: varchar("id").primaryKey(),
  content: varchar("content", { length: 4000 }).notNull(),
  user_id: varchar("user_id", { length: 255 })
    .notNull()
    .references(() => users.id, { onDelete: "cascade" }),
  guild_id: varchar("guild_id", { length: 255 })
    .notNull()
    .references(() => guilds.id, { onDelete: "cascade" }),
});

export const messagesRelations = relations(messages, ({ one }) => ({
  user: one(users),
  guild: one(guilds),
}));
// Example model schema from the Drizzle docs
// https://orm.drizzle.team/docs/sql-schema-declaration

import { create } from "domain";
import { sql, relations } from "drizzle-orm";
import {
  index,
  pgEnum,
  pgTableCreator,
  primaryKey,
  serial,
  timestamp,
  varchar,
} from "drizzle-orm/pg-core";

/**
 * This is an example of how to use the multi-project schema feature of Drizzle ORM. Use the same
 * database instance for multiple projects.
 *
 * @see https://orm.drizzle.team/docs/goodies#multi-project-schema
 */
export const createTable = pgTableCreator((name) => `loggy_${name}`);

export const users = createTable("users", {
  id: varchar("id").primaryKey(),
  username: varchar("username", { length: 255 }).notNull(),
});

export const usersRelations = relations(users, ({ many }) => ({
  usersToGuilds: many(usersToGuilds),
}));

export const guilds = createTable("guilds", {
  id: varchar("id").primaryKey(),
  name: varchar("name", { length: 255 }).notNull(),
});

export const usersToGuilds = createTable(
  "users_to_guilds",
  {
    userId: varchar("user_id")
      .notNull()
      .references(() => users.id),
    guildId: varchar("guild_id")
      .notNull()
      .references(() => guilds.id),
  },
  (t) => ({
    pk: primaryKey({ columns: [t.userId, t.guildId] }),
  }),
);

export const guildsRelations = relations(guilds, ({ many }) => ({
  usersToGuilds: many(usersToGuilds),
}));

export const messages = createTable("messages", {
  id: varchar("id").primaryKey(),
  content: varchar("content", { length: 4000 }).notNull(),
  user_id: varchar("user_id", { length: 255 })
    .notNull()
    .references(() => users.id, { onDelete: "cascade" }),
  guild_id: varchar("guild_id", { length: 255 })
    .notNull()
    .references(() => guilds.id, { onDelete: "cascade" }),
});

export const messagesRelations = relations(messages, ({ one }) => ({
  user: one(users),
  guild: one(guilds),
}));
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

Need help with relations
Drizzle TeamDTDrizzle Team / help
2y ago
Drizzle Zod with relations
Drizzle TeamDTDrizzle Team / help
2y ago
Drizzle Relations
Drizzle TeamDTDrizzle Team / help
3y ago
help with relations
Drizzle TeamDTDrizzle Team / help
2y ago