UNPKG

apis-scf-nodejs

Version:

Apis Serverless Compute Function NodeJS Package

102 lines (96 loc) 3.02 kB
// const Sequelize = require( 'sequelize' ); // const Apis = require( 'apis-core-nodejs' ); //配置 let _default_config = { // 数据库类型 dialect : 'mysql', // 数据库选项,配置证书等 dialectOptions : { // 数据库字段float等类型,输出精度,false转string,true不转换但精度有问题。 decimalNumbers : false }, // 读写分离 replication : { write : { host : '127.0.0.1', port : 1027, database : 'db_name', username : 'root', password : '' }, read : [ { host : '127.0.0.1', port : 1027, database : 'db_name', username : 'root', password : '' }, { host : '127.0.0.1', port : 1027, database : 'db_name', username : 'root', password : '' } ] }, pool : { // 连接池中最大连接数量 max : 20, // 连接池中最小连接数量 min : 1, // 建立连接最长时间(毫秒) acquire : 15000, // 如果一个线程N(毫秒)钟内没有被使用过的话,那么就释放线程 idle : 15000 }, logging : function( str ) { // 截取其中的sql语句 let _sql = str.substring( 21, str.length ); if( CONFIG[ 'Base' ].log.enable === true ) { Apis.Utils.Base.log( _sql, 'Logging SQL' ); } }, logQueryParameters : true, timezone : '+08:00', define : { // 禁止sequelize修改表名,默认会在animal后边添加一个字母`s`表示复数 freezeTableName : true, // 禁止自动添加时间戳相关属性 timestamps : false, // 软删除 只在启用 timestamps 时适用 paranoid : false, // 不使用驼峰式命令规则,这样会在使用下划线分隔,这样 updatedAt 的字段名会是 updated_at underscored : true, // 指定字段名 createdAt : 'create_time', // 指定字段名 updatedAt : 'update_time', // 指定字段名 deletedAt : 'delete_time' } }; //合并覆盖 _default_config = Object.assign( _default_config, CONFIG[ 'Base' ].database ); //连接 const sequelize = new Sequelize( _default_config.replication.write.database, null, null, _default_config ); //验证 /*(async () => { await sequelize.authenticate() .then( () => { console.log( '数据库连接成功' ); } ) .catch( err => { console.error( err ); throw new Error( err.message ); } ); })();*/ module.exports = sequelize;