Closed1
Nest.js
MySQLと接続
環境構築
nest new プロジェクト名
-
@nestjs/typeorm
,typeorm
,mysql2
をインストール - MySQLの環境構築(dockerでも可)
database定義
typeorm/User.ts
import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm';
@Entity({ name: 'users' })
export class User {
@PrimaryGeneratedColumn({ type: 'bigint', name: 'user_id' })
id: number;
@Column({
nullable: false,
default: '',
})
username: string;
@Column({
name: 'email',
nullable: false,
default: '',
})
email: string;
@Column({
nullable: false,
default: '',
})
password: string;
}
nest.jsとMySQLの接続
create database todo_db;
-
use todo_db;
DB作成 -
show tables;
この時点ではテーブルが存在しないはず
app.module.ts
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import entities from './typeorm';
import { TypeOrmModule } from '@nestjs/typeorm';
@Module({
imports: [
TypeOrmModule.forRoot({
type: 'mysql',
host: 'localhost',
port: 3306,
username: 'root',
password: '設定したパスワード',
database: 'todo_db',
entities: entities,
synchronize: true,
}),
],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}
yarn start:dev
-
show tables
Usersテーブルがあるはず -
select * from Users
typeormで定義したテーブルの内容が反映されている
このスクラップは2024/03/27にクローズされました