Skip to main content

Database Naming Conventions

Column Names

All columns use snake_case:

project_id      -- NOT projectId
created_at -- NOT createdAt
is_active -- NOT isActive

TypeORM Mapping

Always use explicit column names:

@Column({ name: 'project_id' })
projectId: string;

@Column({ name: 'is_active', default: true })
isActive: boolean;

@CreateDateColumn({ name: 'created_at' })
createdAt: Date;

Table Names

  • Plural, snake_case: projects, status_pages, alert_events
  • Schema prefix in entity: @Entity({ schema: 'alerts', name: 'users' })

Boolean Columns

Use is_ prefix: is_active, is_public, is_employee