@teqed/interact-ibmi
Version:
Menus for interacting with IBMi AS400 using node-odbc.
26 lines (25 loc) • 927 B
JavaScript
import * as Sequelize from '@sequelize/core';
import { initModels } from './models/init-models.js';
// eslint-disable-next-line import/no-mutable-exports
export let sequelize;
export default async function (loginId, loginPw, system = `PUB400.COM`) {
sequelize = new Sequelize.Sequelize(`arbitrarydb`, `'${loginId}'`, `'${loginPw}'`, {
benchmark: false,
databaseVersion: `7.5`,
dialect: `ibmi`,
dialectOptions: {
odbcConnectionString: `DRIVER=IBM i Access ODBC Driver;SYSTEM=${system};UID=${loginId};PWD=${loginPw};`,
},
host: system,
logging: false,
});
try {
await sequelize.authenticate({ logging: false });
// console.log(`Connection has been established successfully.`);
}
catch (error) {
console.error(`Unable to connect to the database:`, error);
}
void initModels(sequelize);
return sequelize;
}