[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"
},
}
반응형
'IT > node.js' 카테고리의 다른 글
[Node.js] Nodejs 백엔드 프로젝트 생성하기 4(axios를 통해 front back 연결) (0) | 2021.09.29 |
---|---|
[Node.js] Nodejs 백엔드 프로젝트 생성하기 3 (with nodemon) (0) | 2021.09.28 |
[Node.js] Nodejs 백엔드 프로젝트 생성하기 1 (0) | 2021.09.26 |
[NODE.JS] Node.js 설치하기 (0) | 2021.02.04 |