[TIL] Node.js 숙련 (5) 23.06.23

이상훈·2023년 6월 23일
1

[내일배움캠프]

목록 보기
34/68

개인과제를 진행하면서 config파일을 실수로 github에 올려버렸는데 환경변수를 적용하지 않고 5분정도 올려뒀더니 DB가 털렸다.. ㅠㅠ

그래서 AWS RDS로 생성한 DB를 삭제하고 다시 DB를 생성하였다.
생성 후 dotenv를 설치하고 환경변수를 생성하는 작업을 진행하였다.

MYSQL_USERNAME = 
MYSQL_PASSWORD = 
MYSQL_DATABASE = 
MYSQL_HOST = 
MYSQL_HOST2 = 

JWT_SECRET_KEY = 

DB 로그인 정보를 입력하고, 하는김에 JWT 비밀키도 같이 환경변수를 적용해줬다.

require("dotenv").config();
const env = process.env;

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

const test = {
  username: env.MYSQL_USERNAME,
  password: null,
  database: "database_test",
  host: env.MYSQL_HOST2,
  dialect: "mysql",
};

const production = {
  username: env.MYSQL_USERNAME,
  password: null,
  database: "database_production",
  host: env.MYSQL_HOST2,
  dialect: "mysql",
};

module.exports = { development, test, production };

config.json 파일을 js파일로 변경해주고 exports 해준 뒤

const fs = require("fs");
const path = require("path");
const Sequelize = require("sequelize");
const process = require("process");
const basename = path.basename(__filename);
const env = process.env.NODE_ENV || "development";
const config = require(__dirname + "/../config/config.js")[env];
const db = {};

index 파일에 있는 config경로에 파일명을 같이 변경해주면 적용이 된다.


개인과제를 진행하면서 발생했던 일이라 그나마 다행인 것 같다.
잘 돌아가던 DB가 오전에 확인 차 실행했을때 SELECT 쿼리문을 날려도 검색이 되지 않아서 당황했다. 이 일이 있고 난 후 강의를 듣는데 마침 DB 보안에 대해서 강의를 해주셔서 오늘 일을 교훈삼아 보안에 더 신경써야겠다고 느낀다.

profile
코린이

0개의 댓글