Wordle Maker Project 5일차

PROLCY·2022년 11월 5일
0

Wordle-Maker-Project

목록 보기
5/31

오늘은 11월 5일 5일차이다.

목표

  • SQL 구성

진행

오늘은 시간이 없는 관계로 sequelize 패키지 설치 후 mySQL과 연결하고, 데이터베이스를 어떻게 만들지만 생각했다.
sequelize, sequelize-cli, mysql2 패키지를 설치했고, express 서버와 연결만 해줬다.

코드

const Sequelize = require('sequelize');

const env = process.env.NODE_ENV || 'development';
const config = require('../config/config')[env];
const db = {};

const sequelize = new Sequelize(config.database, config.username, config.password, config);

db.sequelize = sequelize;

module.exports = db;

models/index.js 이다.

sequelize.sync({ force: false })
    .then (() => {
        console.log('데이터베이스 연결 성공');
    })
    .catch((err) => {
        console.error(err);
    });

app.js이다.

테이블은 다음과 같이 구성할 예정이다.

maker: 닉네임

solver: 닉네임, url_id, wordList

url: maker_id, url, correct_word

maker - url : 1대1

url - solver: 1대N

요청은 다음과 같이 구성했다.

MakeBoard: 닉네임 입력하면 중복 검증 후 등록하고, 정답 단어 입력하면 url 생성하면서 등록

SolverBoard: 닉네임 입력하면 증복 검증 후 받고, wordList 입력할 때마다 등록, url에 종속됨

LoadBoard: 닉네임 입력하면 maker 테이블에서 해당 닉네임 찾고, 해당 maker_id에 해당하는 url 찾고, 해당 url_id에 해당하는 solver들 모두 load

보충할 것

  • mySQL 관련 지식
  • sequelize 관련 지식

내일 할 것

  • 데이터베이스에 테이블 구성
  • sequelize 모델 구성(시간이 된다면)

마무리

급하게 끝낸 감이 없지 않아 있는데, 의외로 데이터베이스를 구성하기가 어려웠다. 1대1인지, 1대N인지, N대M인지, 어떤 부분을 테이블로 구성하고 어떤 부분을 테이블 안의 칼럼으로 구성해야되는 지 생각하는게 간단할 줄 알았는데 그렇지 않았다. 일단 신중하게 생각해서 정한 것이긴 한데, 나중에 바꿔야될 상황이 올 수도 있을 것 같다. 은근 어려운 것 같다. 내일도 시간이 많이 없는 관계로 테이블 구성, 빨리하면 sequelize 모델 구성까지 해보고 싶다.

0개의 댓글