발단
외주를 받게 되었는데 이미 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
'개발 > DB' 카테고리의 다른 글
[prisma] npx prisma db push 업데이트에 실패할 때 (0) | 2024.04.05 |
---|---|
[DB] RDBMS의 관점에서 바라본 RDBMS vs NoSQL 선택하기 (1) | 2023.12.10 |
[prisma] Transaction API error (0) | 2023.12.06 |
[prisma] 정의하지 않은 필드에서 생기는 오류.. 가 아니였다 ㅎㅎㅎ (0) | 2023.11.04 |
[sequelize] Cannot delete property 'meta' of [object Array] (0) | 2023.10.29 |