uju's Tech

[Node.js] sqlite3 연동부터 사용까지 (feat. sequelize) 본문

Node

[Node.js] sqlite3 연동부터 사용까지 (feat. sequelize)

ujusy 2020. 7. 6. 16:42

<본 포스팅은 공부목적으로 작성되었습니다. 혹시 틀린 부분이 있거나 문제가 되는 부분이 있다면 답글 달아주세요!>

 

개발을 진행할 때 항상 mysql 을 연동하게 진행하다가 최근 aws 과금이 되어버린 경험으로 인해 sqlite3을 이용하여 로컬 db를 생성했다.

 

sqlite 설치

brew instll sqlite3 을 통해 sqlite3을 설치한다. 

sqlite 플러그인 설치

 

test.db 생성

위의 사진과 같이 memeber이라는 table을 생성해주고 data를 insert 해주었다.

 

var router = express.Router();
const path = require('path');
const dbPath = path.resolve(__dirname, 'test.db');

var db = new sqlite3.Database(dbPath,(err)=>{
    if(err){
        console.log(err);
    }else{
        console.log('success');
    }
});
router.get('/',(req, res, next)=>{
    const query = `SELECT * FROM memeber`;
    db.serialize();
    db.all(query,(err,row)=>{
        console.log(row);
        if(err) callback(err)
        else callback(data)
    });

})

위와 같이 Node.js와 연동하여 사용해주었다. 

 

 

+++ 추가  NODE_ENV 환경별로 sqlite + sequelize 

1. config 디렉토리에 database.js 에 환경별 데이터베이스 설정 작성

module.exports = {
  ci: {
    database: '데이터베이스 이름',
    dialect: 'sqlite',
    storage: 'db.sqlite3',
    logging: false,
  },
  ....
  }

 

2. .sequelizerc에 config의 데이터베이스 파일에 작성한 부분 작성

const path = require('path');

module.exports = {
  config: path.resolve('config', 'database.js'),
};

 

3. 아래 명령어로 마이그레이션 해주면 된다. 

 NODE_ENV=ci npx sequelize-cli db:migrate

 

4. 아래 앱을 사용하여 sqlite에 마이그레이션 된 데이터베이스를 확인할 수 있다.

 

Comments