initSequelizeModule
Sequelize 모듈을 초기화합니다. 데이터베이스 연결, 모델 로드, DTO 등록을 한 번에 처리합니다.
Import
import { initSequelizeModule } from '@asapjs/sequelize';
시그니처
const initSequelizeModule = async (dirname: string): Promise<Sequelize>
파라미터
| 이름 | 타입 | 설명 |
|---|---|---|
dirname | string | 모델/DTO 파일이 위치한 디렉토리 경로. 이 경로 하위의 *Table.ts와 *Dto.ts 파일을 자동 로드합니다. |
반환값
Promise<Sequelize> — Sequelize 인스턴스
동작 과정
getConfig().db설정으로 데이터베이스 연결 (dbInit)dirname하위 디렉토리를 재귀 탐색*Table.*파일 → Sequelize 모델로 등록*Dto.*파일 → Swagger 스키마로 등록- 데이터베이스가 존재하지 않으면 자동 생성 시도
사용 예제
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
- getSequelize — 초기화된 Sequelize 인스턴스 접근
- modelsSync — 모델 스키마 동기화
- Table — 모델 데코레이터
- healthCheck — DB 연결 상태 확인