高瀬博道の技術ブログ

高瀬博道の技術ブログです。

NestJS でデータベース操作できるようにする - 6

前回 takasehiromichiex.com TypeORMのマイグレーションについて モデルが変更される場合、それをデータベースに同期する必要があります。 synchronize: trueというオプションをルートモジュールで設定していましたが、これはEntityに基づいてテーブルを自動…

NestJS でデータベース操作できるようにする - 5

前回 takasehiromichiex.com サブスクライバ TypeORM サブスクライバを使用すると、特定のエンティティイベントをリッスンすることができます。 まず、エンティティを作成します。 src/cats/cats.entity.ts import { Column, Entity, PrimaryGeneratedColumn…

NestJS でデータベース操作できるようにする - 4

前回 takasehiromichiex.com TypeORM トランザクション TypeORMでトランザクションを処理することができます。 src/user/user.service.ts import { Injectable } from "@nestjs/common"; import { InjectRepository } from "@nestjs/typeorm"; import { Data…

NestJS でデータベース操作できるようにする - 3

前回 takasehiromichiex.com スキーマ Entityとしてモデルを定義するのとは別に、Entity Schemaで列の状態などを定義することができます。 Entity Schemaを作成してみます。 まず、Entityを修正します。 src/user/entities/user.entity.ts import { Photo } …

NestJS でデータベース操作できるようにする - 2

前回 takasehiromichiex.com ユーザモジュールへのEntityの紐付け ユーザモジュールへEntityを紐づけます。 src/user/user.module.ts import { Module } from "@nestjs/common"; import { UserService } from "./user.service"; import { UserController } f…

NestJS でデータベース操作できるようにする - 1

概要 以下でNestJSに入門したので、今度はデータベース操作ができるようになるまで掘り下げていきます。 takasehiromichiex.com データベース NestJSは、様々なORMを使用することができます。 MikroORM Sequelize Knex.js TypeORM Prisma または、データベー…

NestJSに入門する記事を書いた

概要 今までブログも記事も書いたことがほとんどなかったので、試しに今まで気になっていたNestJSに入門する記事を書いてみました。 これは、公式サイトのOVERVIEWを網羅する範囲になります。 公式サイト docs.nestjs.com 記事一覧 その1 セットアップ、ディ…

もう2023年になったので、今さらNestJSに入門しようと思う - その21

前回 takasehiromichiex.com カスタムプロバイダを使用するケース カスタムプロバイダを使用するケースは、以下のようなものがあります。 Nestでクラスをインスタンス化する代わりにカスタムインスタンスを返す 2番目の依存関係で既存のクラスを再利用する …

もう2023年になったので、今さらNestJSに入門しようと思う - その20

前回 takasehiromichiex.com DIの基礎 依存性注入は、依存関係のインスタンス化を独自のコードで強制的に行うのではなく、IoCコンテナ、つまりNestJSランタイムシステムに移譲する制御の反転手法です。 まず、@Injectable()デコレータは、クラスをプロバイダ…

もう2023年になったので、今さらNestJSに入門しようと思う - その19

前回 takasehiromichiex.com デコレータ Nestは、デコレータを中心に構築されています。 デコレータは、@のプレフィックスをつけ、装飾するものの上に配置して適用します。 デコレータは、クラス、メソッド、プロパティにつけることができます。 パラメータ…