はじめに
この記事では、NestJS から MySQL への接続手順について記載します。
開発環境
開発環境は以下の通りです。
- Windows11
- VSCode
- Node.js 20.5.0
- NestJS 10.0.0
- TypeScript 5.1.3
- MySQL 8.0.33
- MySQL2 3.6.3
- TypeORM 0.3.17
パッケージのインストール
MySQL への接続に必要なパッケージをインストールします。
npm install --save @nestjs/typeorm typeorm mysql2
npm install --save-dev @types/node
TypeOrmModule
のインポート
次にルートのモジュールである AppModule
に TypeOrmModule
をインポートします。
forRoot()
の引数に MySQL への接続情報を記載します。
app.module.ts
import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { CatsModule } from './modules/cats.module';
import { CatsService } from './services/cats.service';
@Module({
imports: [
TypeOrmModule.forRoot({
type: 'mysql',
host: 'localhost',
port: 3306,
username: 'root',
password: 'password',
database: 'database',
entities: [],
synchronize: true,
}),
CatsModule,
],
controllers: [AppController],
providers: [AppService, CatsService],
})
export class AppModule {}
synchronize: true
は、データベースがアプリの起動ごとに自動で作成されるかどうかに関するオプションになります。そのため、本番環境では利用しないでください。