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
- initSequelizeModule — Sequelize 모듈 초기화
- Table — 모델 데코레이터