2023.10.26 postgreSQL 세팅

이무헌·2023년 10월 26일
0

node.JS

목록 보기
10/10
post-thumbnail

1.폴더구조

  • 기본적으로 mySQL과 연결했을때와 매우 유사하다.

2.db.config.js

module.exports = {
	HOST: "localhost",
  	USER: "postgres",
  	// password에는 설치할때 설정한 비밀번호 입력!
  	PASSWORD: "0000",
  	DB: "postgres",
  	dialect: "postgres",
  	pool: {
		max: 5,
  		min: 0,
  		acquire: 30000,
  		idle: 10000
	}
};
  • 실제로 개발할 땐 env를 꼭 쓰자
  • dialect가 mysql이 아닌 postgres로 바뀐건 빼곤 큰 차이가 없다.

3.model/index.js

const dbConfig = require("../config/db.config.js");

const Sequelize = require("sequelize");
const sequelize = new Sequelize(dbConfig.DB, dbConfig.USER, dbConfig.PASSWORD, {
  host: dbConfig.HOST,
  dialect: dbConfig.dialect,
  operatorsAliases: false,

  pool: {
    max: dbConfig.pool.max,
    min: dbConfig.pool.min,
    acquire: dbConfig.pool.acquire,
    idle: dbConfig.pool.idle,
  },
});

const db = {};

db.Sequelize = Sequelize;

db.sequelize = sequelize;

db.tutorials = require("./testTable.js")(sequelize, Sequelize);

module.exports = db;
  • 마찬가지로 mySQL때와 큰 차이가 없지만 기존 옵션에는 pool이 아닌 database,host가 있는 오브젝트를 매개변수로 주었지만 postgreSQL은 pool을 주었다.

4.model/testTable.js


module.exports = (sequelize, Sequelize) => {
  const TestTable = sequelize.define("testTable", {
    title: {
      type: Sequelize.STRING,
    },
    content: {
      type: Sequelize.STRING,
    },
    published: {
      type: Sequelize.BOOLEAN,
    },
  });

  return TestTable;
};
  • 정말 바뀐게 없다.... 이래서 ORM ORM하나보다

5.느낀점

하루종일 UML회의를 하고 남는 시간에 postgreSQL을 연결해보았다. 생각보다 쉬워서 놀랐고 내일 시간이 남는다면 외래키 및 여러 테이블을 db객체에 저장하여 생성해보아야 겠다.

profile
개발당시에 직면한 이슈를 정리하는 곳

0개의 댓글