Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

행복한 개구리

Node 팀프 21.07.12. Sequelize-auto 본문

Unity/Project : Cursed Treasure 기획

Node 팀프 21.07.12. Sequelize-auto

HappyFrog 2021. 7. 12. 18:00
  • 앞서 npm으로 설치한 Sequelize-auto를 깔아두어야 한다.
  • 그리고 DB와 Nodejs를 매핑해주자.
const SequelizeAuto = require("sequelize-auto");
const auto = new SequelizeAuto("DB테이블이름", "유저이름", "비밀번호",{
    host: "호스트이름",
    port: "포트번호",
    dialect: "mysql",
});

auto.run(err => {
    if(err) throw err;
    console.log("complete!");
})
  • 해당 코드를 써서 Node로 실행시켜주면 DB와 매핑이 되며 models에 내가 DB에서 불러오려는 테이블이 js파일로 생성된다.

이제 models에 생성된 파일을 다른 스크립트로 모듈화 시켜서 가져오기 쉽도록 할 것이다.

 

const initModels = require("./models/init-models");
const Sequelize = require("sequelize");
const sequelize = new Sequelize("test", "root", "d394", {
  host: "localhost",
  dialect: "mysql",
});
const models = initModels(sequelize);

module.exports = {
  models,
};
  • 위와 같이 작성한다면 해당 스크립트를 모듈로 불러와서 models의 db데이터를 쉽게 불러올 수 있게된다.
const express = require("express");
const app = express();
const { Sequelize, DataTypes } = require("sequelize");
const {models} = require("./mysequelize");

async function findAllFromUser(){
    const results = await models.user.findAll();
    console.log(results);
}

findAllFromUser();

const mysql = require("mysql2");

const sequelize = new Sequelize("mysql", "root", "d394", {
    host: "127.0.0.1",
    dialect: "mysql",
});

const port = 3030;

app.get("/", (req,res)=>{
   res.send("Hello Sequelize!"); 
});

app.get("/connectdb", (req,res)=>{
    connect();
    res.end("db connection test...");
});

async function connect(){
    try{
        await sequelize.authenticate(); //접속대기
        console.log("connected.");
    } catch(err){
        console.log(err);
    }
}

app.listen(port, ()=>{
    console.log(`Waiting on ${port} port`);
})
  • 그리고 만든 모듈을 불러와 해당 모듈에서 원하는 데이터테이블을 모두 검색하라고 한 뒤 로그에 띄워준다.

  • 그러면 다음과 같이 데이터가 출력된다.