개인과제를 진행하면서 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 보안에 대해서 강의를 해주셔서 오늘 일을 교훈삼아 보안에 더 신경써야겠다고 느낀다.