서버 환경세팅(1)

Creating the dots·2021년 11월 25일
0

project-3-ShallWeHealth

목록 보기
4/26

순서대로 정리한 서버 환경세팅

  • npm init -y
    package.json을 만들어준다. -y명령어로 기본 설정이 적용된다.

  • dependencies, devDependencies 설치

    • dotenv
    • mysql2
    • sequelize
    • nodemon
  • sequelize로 데이터베이스 연결 및 테스트

    • 실행되는 sql 쿼리 로깅
    • 데이터베이스 연결 성공, 실패에 따른 콘솔 로깅하기 위한 testConnection 함수 생성
    • sequelize cli 설치
      npm install --save-dev sequelize-cli
const { Sequelize } = require("sequelize");
require("dotenv").config();

const sequelize = new Sequelize(
  process.env.DB_NAME,
  process.env.DB_USER,
  process.env.DB_PASS,
  {
    host: process.env.DB_HOST,
    dialect: "mysql",
    logging: console.log,
    logging: (...msg) => console.log(msg),
  }
);

const testConnection = async () => {
  try {
    await sequelize.authenticate();
    console.log("successfully connected");
  } catch (error) {
    console.log("unalbe to connect to the database", error);
  }
};
testConnection();
  • sequelize cli로 폴더 생성 및 파일 수정

    • npx sequelize-cli init
      config, models, migrations, seeders가 생성된다

    • 모델 만들기

      npx sequelize-cli model:generate --name User --attributes email:string,nickname:string,salt:string,password:string,isOauth:boolean,isAdmin:boolean 
      npx sequelize-cli model:generate --name Post --attributes hostId:integer,guestId:integer,reserved_at:date,isMatched:boolean,location:json,description:json
      npx sequelize-cli model:generate --name Chat --attributes authorId:integer,roomId:integer,content:string
      npx sequelize-cli model:generate --name Thumbsup --attributes postId:integer,giverId:integer,receiverId:integer
      npx sequelize-cli model:generate --name Issue --attributes postId:integer,reporterId:integer,targetId:integer,content:string

    • 만들어진 migrations와 models 파일들 수정하기
      (defaultValue 등 추가)

    • 마이그레이션 npx sequelize-cli db:migrate
      만들어둔 모델(테이블)이 데이터베이스에 생성된다.


추가 변경사항

npx sequelize-cli init를 통해 생성된 config폴더 안의 config파일이 config.json이어서 config.js로 변경하고, export시켜주었다.

그리고 models폴더 안의 index.js파일에서 config객체를 불러올때, 파일 경로도 config.json에서 config.js로 수정해주었다.

profile
어제보다 나은 오늘을 만드는 중

0개의 댓글