Nest.jsでSequelizeを使用する方法 - コード例付きの詳細なガイド


まず、Nest.jsプロジェクトをセットアップする必要があります。Nest.js CLIを使用して新しいプロジェクトを作成し、必要な依存関係をインストールします。次に、Sequelizeとそのドライバをプロジェクトに追加します。以下のコマンドを使用して、必要なパッケージをインストールします。

npm install --save @nestjs/sequelize sequelize sequelize-typescript

これで、Nest.jsプロジェクトにSequelizeが統合されました。次に、データベース接続の設定を行います。app.module.tsファイルを開き、以下のようにSequelizeModuleをインポートし、設定を追加します。

import { Module } from '@nestjs/common';
import { SequelizeModule } from '@nestjs/sequelize';
@Module({
  imports: [
    SequelizeModule.forRoot({
      dialect: 'mysql',
      host: 'localhost',
      port: 3306,
      username: 'your_username',
      password: 'your_password',
      database: 'your_database',
      autoLoadModels: true,
      synchronize: true,
    }),
  ],
})
export class AppModule {}

データベース接続が設定されたら、モデルを作成してデータベースと対話する準備が整いました。以下は、ユーザーモデルの作成例です。

import { Table, Column, Model, DataType } from 'sequelize-typescript';
@Table
export class User extends Model<User> {
  @Column({
    type: DataType.STRING,
    allowNull: false,
  })
  name: string;
  @Column({
    type: DataType.STRING,
    allowNull: false,
  })
  email: string;
  // 他のカラムやリレーションシップをここに追加することもできます
}

上記のコードでは、Userという名前のモデルを作成しています。@Tableデコレータを使用してテーブル名を指定し、@Columnデコレータを使用して各カラムの設定を行います。

モデルが作成されたら、コントローラーとサービスを作成してモデルを操作する機能を実装します。詳細なコード例については、以下の公式ドキュメントを参照してください。

以上が、Nest.jsでSequelizeを使用する方法とコード例の概要です。詳細な実装については、公式ドキュメントを参照してください。