본문으로 건너뛰기

initSequelizeModule

Sequelize 모듈을 초기화합니다. 데이터베이스 연결, 모델 로드, DTO 등록을 한 번에 처리합니다.

Import

import { initSequelizeModule } from '@asapjs/sequelize';

시그니처

const initSequelizeModule = async (dirname: string): Promise<Sequelize>

파라미터

이름타입설명
dirnamestring모델/DTO 파일이 위치한 디렉토리 경로. 이 경로 하위의 *Table.ts*Dto.ts 파일을 자동 로드합니다.

반환값

Promise<Sequelize> — Sequelize 인스턴스

동작 과정

  1. getConfig().db 설정으로 데이터베이스 연결 (dbInit)
  2. dirname 하위 디렉토리를 재귀 탐색
  3. *Table.* 파일 → Sequelize 모델로 등록
  4. *Dto.* 파일 → Swagger 스키마로 등록
  5. 데이터베이스가 존재하지 않으면 자동 생성 시도

사용 예제

import { Application } from '@asapjs/core';
import { initSequelizeModule } from '@asapjs/sequelize';

const app = new Application(__dirname);

// 모델이 src/models/ 하위에 있는 경우
const sequelize = await initSequelizeModule(__dirname + '/models');

설정 (config)

getConfig().db에 Sequelize 옵션을 설정해야 합니다:

{
"db": {
"dialect": "mysql",
"host": "localhost",
"port": 3306,
"username": "root",
"password": "password",
"database": "mydb"
}
}

관련 API