jm_p_op

Excel을 통한 seed/migration데이터 관리 본문

Node.js/Express

Excel을 통한 seed/migration데이터 관리

jm_p_op 2024. 5. 6. 11:15
npm install xlsx

  • default value값이 있는 경우 원래 DB에서 migration할때 충돌이 일어날수가 있다.
  • 즉 migration하기전에 DB에 넣어줘야 함으로  migration값= True설정
  • 이후 추가적으로 넣는 값들은 seed에 값에만 반영함으로 migration = False로 잡자
//  modules/seedDB.js
var xlsx = require("xlsx");
const excelFile = xlsx.readFile( "./seeders/seed_data.xlsx" );

async function seed_data(db){
    const table = excelFile.Sheets[db];       // @details 시트의 제목 추출
    return xlsx.utils.sheet_to_json( table, { defval : "" } );
}

module.exports={
    seed_data
}

 

// seed or migration

const seed_db=require("../modules/seedDB")
const {Status}=require("../models")


let adds=await seed_db.seed_data('Status')
adds=adds.filter((key)=>key.migration) // true,false로 설정
await Status.bulkCreate(adds)

'Node.js > Express' 카테고리의 다른 글

express - app  (0) 2024.05.09
error_message관리  (0) 2024.05.07
node-cache : DB와의 트래픽 줄이기  (0) 2024.05.05
권한설정 - 차집합,교집합 js  (0) 2024.05.01
1:1, 1:m, m:n field Model&findAll  (0) 2024.04.30