개발/DB

[sequelize | mssql] Error: Please install tedious package manually

prpn97 2024. 2. 22. 21:18

발단

외주를 받게 되었는데 이미 db가 온프레미스 안에서 Mssql로 돌아가고 있는 상태였다.

그리고 새로 내가 구축할 서버를 통해 mssql을 세팅해야 했고, sequelize ORM을 써야 했다.

 

한 서버 안에서 언급한 Mssql DB를 포함해서 별도로 mysql을 구축해서 총 2개의 DB를 세팅하게 되었다.

 

일단 sequelize로 먼저 Mysql을 세팅했고, dialect만 mssql로 바꿔주었다. env에 db의 주소만 다르게 적어서 넣었는데 서버 시작 후 db에 접근하면서 바로 에러가 났다. Error: Please install tedious package manually

 

코드는 아래와 같다. 

export const sequelize1 = new Sequelize({
  dialect: "mysql",
  host: DB1_HOST,
  port: DB1_PORT,
  username: DB1_USER,
  password: DB1_PASSWORD,
  database: DB1_NAME,
  logging: false,
});

// 두 번째 DB에 대한 연결 설정
export const sequelize2 = new Sequelize({
  dialect: "mssql",
  host: DB2_HOST,
  port: DB2_PORT,
  username: DB2_USER,
  password: DB2_PASSWORD,
  database: DB2_NAME,
  logging: false,
});

 

해결방법

Mssql을 사용할 경우 추가로 tedious 패키지를 설치해야 한다. 

그리고 dialectModule:tedious를 추가로 입력해주면 추가한 패키지를 통해 db에 접근할 수 있다. 

npm i --save-dev @types/tedious

export const sequelize2 = new Sequelize({
  dialect: "mssql",
  dialectModule: tedious,
  host: DB2_HOST,
  port: DB2_PORT,
  username: DB2_USER,
  password: DB2_PASSWORD,
  database: DB2_NAME,
  logging: false,
});

 

 

728x90