IT/node.js

[Node.js] Nodejs 백엔드 프로젝트 생성하기 2(with Sequelize)

@욕심쟁이 2021. 9. 27. 20:00
반응형

1. 디비세팅

1-1 시퀄라이즈를 이용한 데이베이스 설치

터미널에 npm i sequelize mysql2 로 설치

 **sequelize를 사용하면 자바스크립트로 sql을 사용가능함

 **sequelize장점은 디비 종류에 상관없이 사용가능

 ** mysql2는 node랑 mysql을 연결해주는 툴 (mysql이 아니다.)

D:\codingSeo\vue\back>npm i sequelize mysql2

added 31 packages, and audited 82 packages in 5s

found 0 vulnerabilities

1-2. 터미널에 npm i -D sequelize-cli 를 입력하여 sequelize-cli를 설치(개발모드로 설치)

     글로벌로 설치하면 pakage.json의 devDependencies에표시가 안됨

     => 기록이 안되어있으면 다른사람에게 넘겼을 경우 기능사용이 안됨

D:\codingSeo\vue\back>npm i -D sequelize-cli

added 77 packages, and audited 159 packages in 6s

4 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

1-3. 터미널에 npx sequelize init 하면 폴더가 생김 

  **npx는 dependensies나 devDependencies에 설치된걸 사용가능

D:\codingSeo\vue\back>npx sequelize init 

Sequelize CLI [Node: 16.9.1, CLI: 6.2.0, ORM: 6.6.5]

Created "config\config.json"
Successfully created models folder at "D:\codingSeo\vue\back\models".
Successfully created migrations folder at "D:\codingSeo\vue\back\migrations".     
Successfully created seeders folder at "D:\codingSeo\vue\back\seeders".

1-4. modulels의 idex.js에서 아래같이 수정해준다


const Sequelize = require('sequelize');
const env = process.env.NODE_ENV || 'development';
const config = require('../config/config.json')[env];
const db = {};

const sequelize = new Sequelize(config.database, config.username, config.password, config);

Object.keys(db).forEach(modelName => {
  if (db[modelName].associate) {
    db[modelName].associate(db);
  }
});



db.sequelize = sequelize;
db.Sequelize = Sequelize;

module.exports = db;

1-5 config에서 config.json파일을 열어 DB설정을 해준다.

{
  "development": {
  	"username": "디비아이디",
    "password": 비밀번호입력,
    "database": "데이터베이스이름",
    "host": "자신의 호스트",
    "dialect": "mysql"
  },
}

 

반응형