Home / File/ pg.schema.ts — drizzle-orm Source File

pg.schema.ts — drizzle-orm Source File

Architecture documentation for pg.schema.ts, a typescript file in the drizzle-orm codebase. 2 imports, 1 dependents.

File typescript DrizzleORM RelationalQuery 2 imports 1 dependents 10 functions

Entity Profile

Dependency Diagram

graph LR
  6e66809b_2d53_90e9_685f_ad46ec0ffb9a["pg.schema.ts"]
  690f7dfc_0aea_9ee8_d6e7_26bbb3689031["drizzle-orm"]
  6e66809b_2d53_90e9_685f_ad46ec0ffb9a --> 690f7dfc_0aea_9ee8_d6e7_26bbb3689031
  53497908_16e7_977d_e97d_7414884a88a6["pg-core"]
  6e66809b_2d53_90e9_685f_ad46ec0ffb9a --> 53497908_16e7_977d_e97d_7414884a88a6
  5b3c2995_652e_f1c1_f00d_51fb9c9e56e4["pg.test.ts"]
  5b3c2995_652e_f1c1_f00d_51fb9c9e56e4 --> 6e66809b_2d53_90e9_685f_ad46ec0ffb9a
  style 6e66809b_2d53_90e9_685f_ad46ec0ffb9a fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { relations } from 'drizzle-orm';
import { boolean, integer, pgTable, primaryKey, text, uuid } from 'drizzle-orm/pg-core';

export const menuItems = pgTable('menu_items', {
	id: uuid('id').defaultRandom().primaryKey(),
});

export const modifierGroups = pgTable('modifier_groups', {
	id: uuid('id').defaultRandom().primaryKey(),
});

export const menuItemModifierGroups = pgTable(
	'menu_item_modifier_groups',
	{
		menuItemId: uuid('menu_item_id')
			.notNull()
			.references(() => menuItems.id),
		modifierGroupId: uuid('modifier_group_id')
			.notNull()
			.references(() => modifierGroups.id),
		order: integer('order').default(0),
	},
	(table) => ({
		menuItemIdModifierGroupIdOrderPk: primaryKey(
			table.menuItemId,
			table.modifierGroupId,
			table.order,
		),
	}),
);

export const ingredients = pgTable('ingredients', {
	id: uuid('id').defaultRandom().primaryKey(),
	name: text('name').notNull(),
	description: text('description'),
	imageUrl: text('image_url'),
	inStock: boolean('in_stock').default(true),
});

export const modifiers = pgTable('modifiers', {
	id: uuid('id').defaultRandom().primaryKey(),
	ingredientId: uuid('ingredient_id').references(() => ingredients.id),
	itemId: uuid('item_id').references(() => menuItems.id),
});

export const menuItemIngredients = pgTable(
	'menu_item_ingredients',
	{
		menuItemId: uuid('menu_item_id')
			.notNull()
			.references(() => menuItems.id),
		ingredientId: uuid('ingredient_id')
			.notNull()
			.references(() => ingredients.id),
		order: integer('order').default(0),
	},
	(table) => ({
		menuItemIdIngredientIdOrderPk: primaryKey(
			table.menuItemId,
			table.ingredientId,
// ... (97 more lines)

Domain

Subdomains

Dependencies

  • drizzle-orm
  • pg-core

Frequently Asked Questions

What does pg.schema.ts do?
pg.schema.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the DrizzleORM domain, RelationalQuery subdomain.
What functions are defined in pg.schema.ts?
pg.schema.ts defines 10 function(s): ingredientRelations, menuItemIngredientRelations, menuItemIngredients, menuItemModifierGroupRelations, menuItemModifierGroups, menuItemRelations, modifierGroupModifierRelations, modifierGroupModifiers, modifierGroupRelations, modifierRelations.
What does pg.schema.ts depend on?
pg.schema.ts imports 2 module(s): drizzle-orm, pg-core.
What files import pg.schema.ts?
pg.schema.ts is imported by 1 file(s): pg.test.ts.
Where is pg.schema.ts in the architecture?
pg.schema.ts is located at integration-tests/tests/relational/issues-schemas/wrong-mapping/pg.schema.ts (domain: DrizzleORM, subdomain: RelationalQuery, directory: integration-tests/tests/relational/issues-schemas/wrong-mapping).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free