잡다한 사전

(2023.11.16) (MYSQL, Sequelize) 연결하기 본문

프로그래밍 언어/node.js

(2023.11.16) (MYSQL, Sequelize) 연결하기

잡사전집사 2023. 11. 20. 10:39
반응형

이번에는 Sequelize를 이용해서 사용하는 프로젝트에서 연결하는 방법에 대해서 알아보도록 하겠습니다.

( 사진 설명이 없는 부분에 대해서 나중에 업데이트 하도록 하겠습니다.)

 

1. 데이터베이스 설치

npm i mysql2 sequelize
npm install mysql2 sequelize

 

2. sequelize 연결

npx sequelize init

sequelize init으로 연결을 해주면 config파일과 migrations, models, seeders 폴더가 생성 되는 것을 확인 할 수 있습니다. 

이 때 config 파일을 수정해주어서 데이터 베이스에 연결을 해주도록 하겠습니다. 

 

3. DB 생성 및 연결 확인

npx sequelize db:create

 

config.js 파일에서 입력된 아이디, 비밀번호, 데이터베이스 주소, 데이터 베이스 이름을 입력하여 연결을 해주면 연결한 데이터 베이스 이름을 생성하여 연결이 됩니다. 

이 때 config.js 파일이 정확하지 않으면 오류가 뜨는 것을 확인 할 수 있습니다. 

 

3-1 config.js 파일 확인

require("dotenv").config();

const development = {
  username: process.env.MYSQL_USERNAME,
  password: process.env.MYSQL_PASSWORD,
  database: process.env.MYSQL_DATABASE,
  host: process.env.MYSQL_HOST,
  dialect: "mysql",
};

module.exports = { development };

 

위 파일은 환경변수를 이용하여 .env파일에 중요한 파일을 넣어서 사용한 경우이며, .env 파일을 사용하는 방법은 다른 글을 보시면 확인하실 수 있습니다.

 

4. (migrations) table 생성

npx sequelize model:generate --name Users --attributes email:string,password:string,nickname:string

 

위 명령어를 입력할 시 Users라는 파일이 생성되며, email, password, nickname이 설정한 string타입으로 생성된 것을 확인 할 수 있습니다. 

( 생성된 migrations을 데이터 베이스에 넣어주는 작업은 별도로 해주어야 합니다.)

 

5. DB 테이블 생성

npx sequelize db:migrate

 

명령어 입력시 생성한 migrations을 DB에 생성된 것이 확인 가능합니다. 

 

6. app.js에서 생성한 Mysql 연결하기 

const { sequelize } = require("./models");

const ConnectDB = async () => {
  try {
    await sequelize
      .authenticate()
      .then(() => console.log("데이터베이스 연결 성공!"));
    await sequelize.sync().then(() => console.log("동기화 완료!"));
  } catch (error) {
    console.error("DB 연결 및 동기화 실패", error);
  }
};
//DB 연결 및 동기화
ConnectDB();

 

app.js에서 연결해준 mysql를 연결해주는 코드로 정상적으로 데이터베이스가 연결이 되었을 때는 데이터 베이스 연결이 성공을 했다는 메세지가 콘솔에 입력 되도록 작성을 해주었다. 

 

(에러가 생겼을 경우 에러 메세지와 함께 콘솔에서 에러 메세지를 확인 가능하도록 작성하였습니다. )

반응형