node-mysql78
Advanced tools
Comparing version 2.0.0 to 2.0.1
@@ -13,3 +13,3 @@ "use strict"; | ||
constructor(config) { | ||
this._host = config["host"]; | ||
this._host = config["host"] || "127.0.0.1"; | ||
let port = config.port || 3306; | ||
@@ -32,2 +32,18 @@ let max = config.max || 200; | ||
/** | ||
* ����ϵͳ���ñ� | ||
* Create system common table | ||
* | ||
* */ | ||
creatTb(up) { | ||
let self = this; | ||
return new Promise(function (resolve, reject) { | ||
//sys_warn :Save system debugging information | ||
let cmdtext = "CREATE TABLE IF NOT EXISTS `sys_warn` ( `uid` varchar(36) NOT NULL DEFAULT '', `kind` varchar(100) NOT NULL DEFAULT '', `apisys` varchar(100) NOT NULL DEFAULT '', `apiobj` varchar(100) NOT NULL DEFAULT '', `content` text NOT NULL, `upid` varchar(36) NOT NULL DEFAULT '', `upby` varchar(50) DEFAULT '', `uptime` datetime NOT NULL, `idpk` int(11) NOT NULL AUTO_INCREMENT, `id` varchar(36) NOT NULL, `remark` varchar(200) NOT NULL DEFAULT '', `remark2` varchar(200) NOT NULL DEFAULT '', `remark3` varchar(200) NOT NULL DEFAULT '', `remark4` varchar(200) NOT NULL DEFAULT '', `remark5` varchar(200) NOT NULL DEFAULT '', `remark6` varchar(200) NOT NULL DEFAULT '', PRIMARY KEY (`idpk`)) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;"; | ||
self.doM(cmdtext, [], up); | ||
//sys_sql: Save SQL statistics | ||
cmdtext = "CREATE TABLE IF NOT EXISTS `sys_sql` ( `cid` varchar(36) NOT NULL DEFAULT '', `apiv` varchar(50) NOT NULL DEFAULT '', `apisys` varchar(50) NOT NULL DEFAULT '', `apiobj` varchar(50) NOT NULL DEFAULT '', `cmdtext` varchar(200) NOT NULL, `uname` varchar(50) NOT NULL DEFAULT '', `num` int(11) NOT NULL DEFAULT '0', `dlong` int(32) NOT NULL DEFAULT '0', `downlen` int(32) NOT NULL DEFAULT '0', `upby` varchar(50) NOT NULL DEFAULT '', `cmdtextmd5` varchar(50) NOT NULL DEFAULT '', `uptime` datetime NOT NULL, `idpk` int(11) NOT NULL AUTO_INCREMENT, `id` varchar(36) NOT NULL, `remark` varchar(200) NOT NULL DEFAULT '', `remark2` varchar(200) NOT NULL DEFAULT '', `remark3` varchar(200) NOT NULL DEFAULT '', `remark4` varchar(200) NOT NULL DEFAULT '', `remark5` varchar(200) NOT NULL DEFAULT '', `remark6` varchar(200) NOT NULL DEFAULT '', PRIMARY KEY (`idpk`), UNIQUE KEY `u_v_sys_obj_cmdtext` (`apiv`,`apisys`,`apiobj`,`cmdtext`) USING BTREE) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;"; | ||
self.doM(cmdtext, [], up); | ||
}); | ||
} | ||
/** | ||
* sql get���� | ||
@@ -40,3 +56,3 @@ * @param cmdtext sql��� | ||
values = values || []; | ||
let debug = up.debug || false; | ||
let debug = (up && up.debug) || false; | ||
let self = this; | ||
@@ -51,3 +67,2 @@ return new Promise(function (resolve, reject) { | ||
} | ||
//console.log(cmdtext) | ||
client.query(cmdtext, values, function (err, back) { | ||
@@ -92,3 +107,3 @@ if (debug) { | ||
doT(cmds, values, errtexts, logtext, logvalue, up) { | ||
let debug = up.debug || false; | ||
let debug = (up && up.debug) || false; | ||
let self = this; | ||
@@ -112,3 +127,3 @@ return new Promise((resolve, reject) => { | ||
self._saveLog(logtext, logvalue, new Date().getTime() - dstart.getTime(), 1, up); | ||
var errmsg = "����ʧ��!"; | ||
var errmsg = "err!"; | ||
var haveAff0 = false; | ||
@@ -131,3 +146,3 @@ for (var i = 0; i < back.length; i++) { | ||
con.release(); | ||
resolve("�����ɹ�"); | ||
resolve("ok"); | ||
}).catch(function (err) { | ||
@@ -150,3 +165,3 @@ //console.log(err); | ||
const self = this; | ||
let debug = up.debug || false; | ||
let debug = (up && up.debug) || false; | ||
return new Promise(function (resolve, reject) { | ||
@@ -191,3 +206,3 @@ let dstart = new Date(); | ||
const self = this; | ||
let debug = up.debug || false; | ||
let debug = (up && up.debug) || false; | ||
return new Promise(function (resolve, reject) { | ||
@@ -204,3 +219,3 @@ let dstart = new Date(); | ||
if (err) { | ||
//console.error(new Date() + 'mysql doM Error: ' + cmdtext + Util.inspect(err) + Util.inspect(values)); | ||
console.error(new Date().format() + 'mysql doMAdd Error: ' + cmdtext + Util.inspect(err) + Util.inspect(values)); | ||
self._addWarn(Util.inspect(err) + " c:" + cmdtext + " v" + values.join(","), "err" + up.apisys, up); | ||
@@ -235,3 +250,3 @@ resolve(0); | ||
doTran(cmdtext, values, con, up) { | ||
let debug = up.debug || false; | ||
let debug = (up && up.debug) || false; | ||
return new Promise(function (resolve, reject) { | ||
@@ -238,0 +253,0 @@ con.query(cmdtext, values, function (err, result) { |
{ | ||
"name": "node-mysql78", | ||
"version": "2.0.0", | ||
"version": "2.0.1", | ||
"description": "node-mysql78", | ||
@@ -32,4 +32,4 @@ "main": "dist/index.js", | ||
"preversion": "npm test", | ||
"test": "mocha --reporter spec", | ||
"build": "tsc" | ||
"test": "tsc && mocha --config C:\\6.code\\test7788\\test\\localtest.json --reporter spec -t 5000 --exit", | ||
"build": "tsc -p" | ||
}, | ||
@@ -43,3 +43,6 @@ "engines": { | ||
"chai": "^4.3.4", | ||
"fs": "0.0.1-security", | ||
"iconv-lite": "^0.6.3", | ||
"mocha": "^9.0.2", | ||
"node-upinfo": "^2.0.1", | ||
"typescript": "^3.0.3" | ||
@@ -46,0 +49,0 @@ }, |
# node-mysql78 | ||
>+ 十八年ERP开发经验 十年云开发经验 十五年股票期货投资经验 十年投资分析平台开发经验 | ||
>+ 18 years ERP development experience + 10 years cloud development experience +15 years stock futures investment experience + 10 years investment analysis platform development experience | ||
>+ 技术不高 了解业务 擅长解决生产经营实际问题 | ||
>+ Good understanding of business and solid knowledge on Solving practical problems | ||
>+ 逐步把多年开发优化 并且在一直稳定运行中的项目开源 | ||
>+ Step by Step Open Sources of steady running projects and consistently optimize them. | ||
>+ 合作 商务 问题 讨论 欢迎联系email:657225485@qq.com qq群:323397913 | ||
>+ Welcome to contact my email : 657225485@qq.com or join QQ group : 323397913 for further discuss and cooperations | ||
>+ [完整框架 开源改造中 未完成...](https://github.com/www778878net/NODE78) | ||
>+ [The open source transformation of the total framework has not yet been completed.](https://github.com/www778878net/NODE78) | ||
>## 框架特色 | ||
>## 框架特色 Frame features | ||
>+ 稳定:运行数年 二台单核1G机器搞定数千并发 | ||
>+ Stable: running for several years on two 1 core CPU 1G memory machines with thousands of concurrency | ||
>+ 开发快:几行代码搞定增删查改 线程池 | ||
>+ Fast development:with just a few lines code,you can add, delete, check and change the thread pool | ||
>+ 效率高:有完善的低代码前后端框架 在框架下开发 1后端可轻松配合4前端以上 | ||
>+ High efficiency: Perfect low code front and back end framework developed under the framework 1 back end can easily match 4 front end above | ||
>+ 易扩展:业务表与数据表对应 一个目录就是一套小功能 一个文件就是一个数据表 | ||
>+ Easy to expand: business table is corresponding with data table , a directory is a set of small functions , a file is a data table | ||
>+ 适应强:同时运行在阿里云和腾迅云 | ||
>+ Strong adaptability: running on Ali cloud and Tecent cloud. | ||
>+ 易调试:可设置追踪某几个用户或某表或某目录的所有调用 | ||
>+ Easy to debug: can be set up to trace a few users or a table or a directory of all calls | ||
>+ 易学习:十行代码搞定 想装不会都难 | ||
>+ Easy to learn: ten lines of code can be done. | ||
>+ 易运维:有完善的api调用计数和耗时统计 还有出错微信报警机制 | ||
>+ Easy operation and maintenance: perfect API call count and time consuming statistics, also alarm mechanism on wechat | ||
>+ 更新快:主要运营中的项目 如有bug或新功能 必然及时更新 | ||
>+ Update quickly: as its main operation projects, will update in time If there is a new bug or new function | ||
>+ 易重构:一个目录一个小系统 一个版本一个路径 新旧api可长期共存 边开车边换胎 | ||
>+ Easy to refactor: one directory --one system, one path --one version -- old and new APIs can coexist for a long time. you can Changing tires while driving. | ||
>+ SAAS:同表不同权 完善权限控制 用户只能查询到自己或自己帐套的资料 | ||
>+ SAAS:Users with different rights in the same table can only query their own data or their own account sets. | ||
@@ -26,12 +42,55 @@ >## 安装 install | ||
npm i node-mysql78 | ||
``` | ||
>## 使用 | ||
>>### 初始化 | ||
>## 使用 use you can see ./test/test.js | ||
>>### 初始化 init | ||
``` | ||
import Mysql78 from "node-mysql78"; | ||
import Mysql from "node-mysql78"; | ||
let config={host:"127.0.0.1",password:"test",database:"testdb"} | ||
let mysql = new Mysql78(config); | ||
let mysql78 = new Mysql78(config); | ||
``` | ||
>>### create test table | ||
``` | ||
CREATE TABLE `test` ( | ||
`cid` varchar(36) NOT NULL, | ||
`kind` varchar(100) NOT NULL, | ||
`item` varchar(200) NOT NULL, | ||
`data` varchar(500) NOT NULL, | ||
`upby` varchar(50) NOT NULL, | ||
`uptime` datetime NOT NULL, | ||
`idpk` int(11) NOT NULL AUTO_INCREMENT, | ||
`id` varchar(36) NOT NULL, | ||
PRIMARY KEY (`idpk`), | ||
UNIQUE KEY `ix_id` (`id`) | ||
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; | ||
``` | ||
>>### add | ||
``` | ||
let up = new UpInfo().getGuest();//Simulated guest upload | ||
let sb = "insert into test(cid,kind,item,data,upby,uptime,id)SELECT ?,?,?,?,?,?,?" | ||
let insertId=await mysql78.doMAdd(sb, ["cidval", "kindval", "itemval" | ||
, "dataval", up.uname, up.utime, up.mid],up) | ||
``` | ||
>>### select | ||
``` | ||
let up = new UpInfo().getGuest();//Simulated user upload | ||
let sb = "select * from test where id=?" | ||
let tb=await mysql78.doGet(sb, ["id"],up) | ||
``` | ||
>>### update | ||
``` | ||
let up = new UpInfo().getGuest();//Simulated user upload | ||
let sb = "update test set data=? where idpk=?" | ||
let tmp=await mysql78.doM(sb, [up.mid,1], up) | ||
``` | ||
*** | ||
@@ -38,0 +97,0 @@ >## 框架简要说明 |
@@ -17,3 +17,4 @@ import UpInfo from "node-upinfo"; | ||
constructor(config: any) { | ||
this._host = config["host"]; | ||
this._host = config["host"] || "127.0.0.1"; | ||
let port:number = config.port || 3306; | ||
@@ -36,2 +37,19 @@ let max: number = config.max || 200; | ||
} | ||
/** | ||
* ����ϵͳ���ñ� | ||
* Create system common table | ||
* | ||
* */ | ||
creatTb(up: UpInfo): Promise<any> { | ||
let self = this; | ||
return new Promise(function (resolve, reject) { | ||
//sys_warn :Save system debugging information | ||
let cmdtext = "CREATE TABLE IF NOT EXISTS `sys_warn` ( `uid` varchar(36) NOT NULL DEFAULT '', `kind` varchar(100) NOT NULL DEFAULT '', `apisys` varchar(100) NOT NULL DEFAULT '', `apiobj` varchar(100) NOT NULL DEFAULT '', `content` text NOT NULL, `upid` varchar(36) NOT NULL DEFAULT '', `upby` varchar(50) DEFAULT '', `uptime` datetime NOT NULL, `idpk` int(11) NOT NULL AUTO_INCREMENT, `id` varchar(36) NOT NULL, `remark` varchar(200) NOT NULL DEFAULT '', `remark2` varchar(200) NOT NULL DEFAULT '', `remark3` varchar(200) NOT NULL DEFAULT '', `remark4` varchar(200) NOT NULL DEFAULT '', `remark5` varchar(200) NOT NULL DEFAULT '', `remark6` varchar(200) NOT NULL DEFAULT '', PRIMARY KEY (`idpk`)) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;"; | ||
self.doM(cmdtext, [], up) | ||
//sys_sql: Save SQL statistics | ||
cmdtext = "CREATE TABLE IF NOT EXISTS `sys_sql` ( `cid` varchar(36) NOT NULL DEFAULT '', `apiv` varchar(50) NOT NULL DEFAULT '', `apisys` varchar(50) NOT NULL DEFAULT '', `apiobj` varchar(50) NOT NULL DEFAULT '', `cmdtext` varchar(200) NOT NULL, `uname` varchar(50) NOT NULL DEFAULT '', `num` int(11) NOT NULL DEFAULT '0', `dlong` int(32) NOT NULL DEFAULT '0', `downlen` int(32) NOT NULL DEFAULT '0', `upby` varchar(50) NOT NULL DEFAULT '', `cmdtextmd5` varchar(50) NOT NULL DEFAULT '', `uptime` datetime NOT NULL, `idpk` int(11) NOT NULL AUTO_INCREMENT, `id` varchar(36) NOT NULL, `remark` varchar(200) NOT NULL DEFAULT '', `remark2` varchar(200) NOT NULL DEFAULT '', `remark3` varchar(200) NOT NULL DEFAULT '', `remark4` varchar(200) NOT NULL DEFAULT '', `remark5` varchar(200) NOT NULL DEFAULT '', `remark6` varchar(200) NOT NULL DEFAULT '', PRIMARY KEY (`idpk`), UNIQUE KEY `u_v_sys_obj_cmdtext` (`apiv`,`apisys`,`apiobj`,`cmdtext`) USING BTREE) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;"; | ||
self.doM(cmdtext, [], up) | ||
}); | ||
} | ||
@@ -46,3 +64,4 @@ /** | ||
values = values || []; | ||
let debug = up.debug || false; | ||
let debug = (up&&up.debug) || false; | ||
let self = this; | ||
@@ -58,3 +77,3 @@ | ||
} | ||
//console.log(cmdtext) | ||
client.query(cmdtext, values, function (err, back) { | ||
@@ -103,3 +122,3 @@ if (debug) { | ||
, logtext: string, logvalue: string[], up: UpInfo): Promise<any> { | ||
let debug = up.debug || false; | ||
let debug = (up&&up.debug) || false; | ||
let self = this; | ||
@@ -123,3 +142,3 @@ return new Promise((resolve, reject) => { | ||
self._saveLog(logtext, logvalue, new Date().getTime() - dstart.getTime(), 1, up); | ||
var errmsg = "����ʧ��!"; | ||
var errmsg = "err!"; | ||
var haveAff0 = false; | ||
@@ -142,3 +161,3 @@ for (var i = 0; i < back.length; i++) { | ||
con.release(); | ||
resolve("�����ɹ�"); | ||
resolve("ok"); | ||
}).catch(function (err) { | ||
@@ -162,3 +181,3 @@ //console.log(err); | ||
const self = this; | ||
let debug: boolean = up.debug || false; | ||
let debug: boolean =(up&& up.debug) || false; | ||
@@ -176,2 +195,3 @@ return new Promise(function (resolve, reject) { | ||
if (err) { | ||
//console.error(new Date() + 'mysql doM Error: ' + cmdtext + Util.inspect(err) + Util.inspect(values)); | ||
@@ -207,3 +227,3 @@ self._addWarn(Util.inspect(err) + " c:" + cmdtext + " v" + values.join(","), "err" + up.apisys, up); | ||
const self = this; | ||
let debug: boolean = up.debug || false; | ||
let debug: boolean = (up&&up.debug) || false; | ||
@@ -221,3 +241,5 @@ return new Promise(function (resolve, reject) { | ||
if (err) { | ||
//console.error(new Date() + 'mysql doM Error: ' + cmdtext + Util.inspect(err) + Util.inspect(values)); | ||
console.error(new Date().format() + 'mysql doMAdd Error: ' + cmdtext + Util.inspect(err) + Util.inspect(values)); | ||
self._addWarn(Util.inspect(err) + " c:" + cmdtext + " v" + values.join(","), "err" + up.apisys, up); | ||
@@ -255,3 +277,3 @@ | ||
doTran(cmdtext: string, values: string[], con: any, up: UpInfo): Promise<any> { | ||
let debug = up.debug || false; | ||
let debug = (up&&up.debug) || false; | ||
return new Promise(function (resolve, reject) { | ||
@@ -258,0 +280,0 @@ con.query(cmdtext, values, function (err, result) { |
Sorry, the diff of this file is not supported yet
66829
838
105
7