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