https://www.bezkoder.com/react-jwt-auth/

여러 예제가 있는 좋은 곳이다.

그런데.... 똑같이해도 실행이 되지 않는다.

ConnectionError [SequelizeConnectionError] : connect ETIMEDOUT

내용이야 뭐 연결시간 초과인데

원인은 해당 소스가 조금 오래되어서 약간의 변경이 필요하다.

Sequelize 설정에서

operatorsAliases : true 또는 false 로 되어있는것이 1 또는 0으로 바뀌어야 한다.
operatorsAliases :1

그리고 mysql 의 기본포트인 3306을 사용하면 문제가 없는데
다른 포트를 사용하는 경우에는 port정보를 넣어줘야 한다.
(근데 다들 포트를 변경안하는지 다른 예제에도 port 설정이 안보인다 ㅠ.ㅠ)
아래와 같이 포트정보를 추가하면 됨.

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

const Sequelize = require("sequelize");
const sequelize = new Sequelize(
  config.DB,
  config.USER,
  config.PASSWORD,
  {
    host: config.HOST,
port: config.PORT,
    dialect: config.dialect,
    operatorsAliases: 1,

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

 

정상적으로 설정이 되고 DB 접속에도 문제가 없으면

init에 의해 Create Table users, user_roles  및 select 쿼리가 로그로 찍힘.
user table 생성, role table 생성, role_user table 생성
role.id, user.id 를 참조하는 fk가 role_user table에 추가

 

ps : backend 를 spring으로 추가로 테스트하면
nodejs실행시키면서 자동으로 table 생성이 되었기 때문에
run하면 제약조건 생성 등 오류가 나지만
서버는 정상 가동 됨.
(table 모두 drop하고 가동 시키면 정상으로 될 것임)

node로 생성했을 때 table 설정에서 몇가지 빠지는게 있다.
encoding이 latin으로 되고
id 가 int 형인데 auto inc 가 꺼진채로 생성된다.
그리고 날짜도 default=now()로 넣어줘야한다.
user_role table에 제약조건이 걸려서 role table의 id를 auto inc 하려고 했더니 안되네...
user_role table 삭제 -> role table에 auto inc 추가 -> user_role table 추가로 재설정 함.

728x90
BLOG main image
"그게 뭐 어쨌다는 거냐?" 늘 누가 나에게 나에대한 말을할 때면 이말을 기억해라. by nobang

카테고리

nobang이야기 (1933)
Life With Gopro (7)
Life With Mini (79)
Diary (971)
너 그거 아니(do you know) (162)
난 그래 (159)
Study (290)
속지말자 (10)
Project (34)
Poem (15)
Song (0)
Photo (113)
낙서장 (45)
일정 (0)
C.A.P.i (2)
PodCast (0)
nobang (27)
고한친구들 (4)
recieve (0)
History (0)
android_app (2)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

Total :
Today : Yesterday :