본문으로 건너뛰기

modelsSync

등록된 Sequelize 모델을 데이터베이스 스키마와 동기화합니다.

Import

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

시그니처

const modelsSync = async (): Promise<boolean>

반환값

Promise<boolean> — 동기화 성공 시 true

동작

  • sequelize.sync({ alter: { drop: false } })를 실행합니다.
  • 기존 테이블의 컬럼을 추가/수정하지만 삭제하지 않습니다 (drop: false).
  • 새 테이블은 자동 생성됩니다.

사용 예제

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

await initSequelizeModule(__dirname + '/models');
await modelsSync();
// 모든 테이블이 동기화됨

⚠️ 주의사항

  • 프로덕션 환경에서는 modelsSync 대신 마이그레이션을 사용하는 것을 권장합니다.
  • alter 모드는 기존 데이터를 보존하지만, 타입 변경 시 데이터 손실이 발생할 수 있습니다.
  • RouterModule 사용 시 /sync 엔드포인트를 통해 HTTP로도 호출 가능합니다.

관련 API