목록Node.js/Express (31)
jm_p_op
DB에 error 메세지 저장cache로 서버에 보관,관리console에 찍히는것과 Response값 구분 Inputi: error_message의 id값input : 에러발생시 유저의 input값을 작성하여 에러발생원인 파악CodeJSON.stringify을 통해 보기 좋게 변동Outputresponse : http 상태코드detail : 상세이유async function get(i,input=""){ value = cache.get(i) if (value==undefined){ db = await ErrorMessage.findAll({where:{id:i}}) for(j in db){ cache.set(db[j].id,db[j]) ..
npm install xlsxdefault value값이 있는 경우 원래 DB에서 migration할때 충돌이 일어날수가 있다.즉 migration하기전에 DB에 넣어줘야 함으로 migration값= True설정이후 추가적으로 넣는 값들은 seed에 값에만 반영함으로 migration = False로 잡자// modules/seedDB.jsvar xlsx = require("xlsx");const excelFile = xlsx.readFile( "./seeders/seed_data.xlsx" );async function seed_data(db){ const table = excelFile.Sheets[db]; // @details 시트의 제목 추출 return xlsx.util..
https://www.npmjs.com/package/node-cachenpm install node-cache --save사용법dictionary처럼 key -value값으로 존재한다. ttl을 사용하여 데이터 보관시간 관리자주 쓰는 데이터는 cache해두자제작한거Permission id값과 이름을 지속적으로 변동해야되는데, DB에서 처리하는것보다 서버가 부담하는것이 좋다.대신 admin 유저만 사용가능하게 제작 get - 한개씩 저장setAll - 한번에 저장patch - 데이터 수정될때 사용 (백 서버 여러개일때 서로에서 쏴주면 될듯싶다,)아쉬운점서버 메모리 할당됨으로 갯수 제한은 직접 코드로 작성해야된다.같은것을 또 사용할때, ttl 업데이트가 안된다. const {Permission} = req..
차집합,교집합 같이 구하기let [create,update]=add_perm.reduce((a,b)=> { console.log(a,b) if(user.auth.includes(b)){ a[0].push(b) } else{ a[1].push(b) } return a } ,[[],[]])
1:1, 1:m in PK FieldhasOne/hasMany( FK-Field,{ 칼럼 설정})칼럼 설정{foreignKey: 'FK의 칼럼명',as: '변수로 쓸것',allowNull 등등 설정 가능}1:1, 1:m in FK FieldhasOne/hasMany( PK-Field,{ 칼럼 설정})칼럼 설정{foreignKey: 'PK의 칼럼으로 쓸것',allowNull 등등 설정 가능} m:n Field중간의 field의 model 생성 양쪽에 belongsToMany()생성this.belongsToMany( 반대모델,{ through:중간모델, foreignKey:중간모델에서의 현 모델 칼럼, } )탐색const result1 = ..
migration에 시간 안넣으면 associate에서 에러 날 가능성 존재{table 설정}={ sequelize, modelName: '모델명만있으면 테이블 명은 복수로 들어간다', tableName: '해당 table명', '칼럼명':'false는 칼럼 제거-아래는 예시' createdAt:false, timestamps:'createAt,updatedAt 동시로, false하면 사라짐'}
migrationpromise Status 테이블 생성defualt값 만들기users에 state 값 만들고 default 값의 id 넣기PK- FK 연결해주기migration:undousers.state 삭제Status 테이블 삭제'use strict';const { QueryInterface } = require('sequelize');/** @type {import('sequelize-cli').Migration} */module.exports = { async up (queryInterface, Sequelize) { await Promise.all([ queryInterface.createTable('Status', { stateId: { allowNull: ..