sequelize-ts-boilerplate
Version:
A REST API scaffolding tool designed to scale and easily generate CRUD endpoints based on database schema design
34 lines (29 loc) • 984 B
text/typescript
import { IConfig } from "../../interfaces/config";
import * as fse from "fs-extra";
export function generate(config: IConfig) {
const datasourceConfigFile = (`
import { Sequelize } from 'sequelize-typescript';
import * as path from "path";
require('dotenv').config();
export const conn = new Sequelize({
host: process.env.MYSQL_HOST,
database: process.env.MYSQL_DB,
dialect: '${config.DATABASE_CONNECTION_SETINGS[config.ENV].dialect}',
dialectOptions: {
supportBigNumbers: true,
encrypt: true
},
username: process.env.MYSQL_USERNAME,
// setup pool here
// pool: {
// max: 5,
// min: 0,
// idle: 10000
// },
password: process.env.MYSQL_PASS,
modelPaths: [path.join(__dirname, "..", '/daos')],
omitNull: true // allows auto-increment on primary key
});
`);
fse.outputFileSync(`${config.ORM_GENERATE.path.sequelizeConfig}`, datasourceConfigFile, "utf8");
}