まず、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を使用する方法とコード例の概要です。詳細な実装については、公式ドキュメントを参照してください。