🎉

TypeORMのレビューポイント

2025/02/19に公開

エンティティ定義とリレーションの正確な設定

  • エンティティの設計
    • @Entity, @Column, @PrimaryColumn/@PrimaryGeneratedColumn などのデコレーターが正しく使われ、各エンティティの責務が明確か。
  • リレーションの定義
    • @OneToMany, @ManyToOne, @ManyToMany, @OneToOne の関係が適切に定義され、必要に応じて lazy/eager ローディングが使い分けられているか。

パフォーマンスとクエリの最適化

  • N+1問題の回避
    • リレーションの取得方法やJOINの使用方法を見直し、不要なクエリ発行を防いでいるか。
  • クエリビルダー・リポジトリの適切な利用
    • 複雑なクエリはクエリビルダーで記述し、コードの可読性とパフォーマンスを両立しているか。

トランザクションとエラーハンドリング

  • トランザクション管理の徹底
    • 複数のデータ操作が絡む場合、トランザクションを正しく使用し、一貫性を保っているか。
  • 例外処理とリトライロジックの実装
    • データベースエラーに対する適切なエラーハンドリングが行われ、システムの健全性が維持されているか。

マイグレーションとスキーマの整合性

  • マイグレーションの管理
    • スキーマ変更に伴うマイグレーションが計画的に実施され、ソースコードとDBスキーマの整合性が保たれているか。

Discussion