UNPKG

express-21c

Version:

Express Module' application generator

31 lines (26 loc) 1.29 kB
import { DataTypes } from 'sequelize' import _tbl_authors from './tbl_authors.js' import _tbl_users from './tbl_users.js' export default function initModels(sequelize) { // 모델 이름 설정 const tbl_authors = _tbl_authors.init(sequelize, DataTypes) const tbl_users = _tbl_users.init(sequelize, DataTypes) /** * tbl_files 와 tbl_bbs 를 b_seq 칼럼으로 join 하기 * SourceModel.belongsTo(TargetModel) : 외래키가 source모델에 존재하는 연결관계, N 인 테이블 * SourceModel.hasMany(TargetModel) : 외래 키가 target모델에 존재하는 관계, 1 인 테이블 * as : TargetModel 별명 * include 사용 시 쿼리 결과 값이 모델명으로 지정되는데, * 이는 foreignKey에서 AS 사용으로 include 에서도 같은 AS 명을 사용해야 함 * foreignKey : 외래키 이름 * sourceKey : 연결할 source 모델의 컬럼 이름 * targetKey : 연결할 target 모델의 컬럼 이름 */ tbl_authors.belongsTo(tbl_users, { as: 'username_tbl_user', foreignKey: 'username' }) tbl_users.hasMany(tbl_authors, { as: 'tbl_authors', foreignKey: 'username' }) // 다른 곳에서 model 을 사용할수 있도록 export 준비 return { tbl_authors, tbl_users, } }