mm_sql 1.4.3 → 1.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/admin_vs_direct_test.js +14 -14
- package/debug_error_test.js +15 -15
- package/package.json +3 -3
package/admin_vs_direct_test.js
CHANGED
|
@@ -2,10 +2,10 @@ const { mysqlAdmin } = require('../mm_mysql');
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* 测试run方法对不存在的表的处理
|
|
5
|
-
* @param {
|
|
6
|
-
* @param {
|
|
5
|
+
* @param {object} admin_mysql - mysqlAdmin实例
|
|
6
|
+
* @param {object} direct_mysql - 直接Mysql实例
|
|
7
7
|
*/
|
|
8
|
-
async function
|
|
8
|
+
async function runMethod(admin_mysql, direct_mysql) {
|
|
9
9
|
console.log('\n测试1: 比较对不存在的表的处理...');
|
|
10
10
|
|
|
11
11
|
// mysqlAdmin实例测试
|
|
@@ -29,10 +29,10 @@ async function testRunMethod(admin_mysql, direct_mysql) {
|
|
|
29
29
|
|
|
30
30
|
/**
|
|
31
31
|
* 比较实例类型和属性
|
|
32
|
-
* @param {
|
|
33
|
-
* @param {
|
|
32
|
+
* @param {object} admin_mysql - mysqlAdmin实例
|
|
33
|
+
* @param {object} direct_mysql - 直接Mysql实例
|
|
34
34
|
*/
|
|
35
|
-
function
|
|
35
|
+
function instanceType(admin_mysql, direct_mysql) {
|
|
36
36
|
console.log('\n测试2: 比较实例类型和属性...');
|
|
37
37
|
console.log('mysqlAdmin实例类型:', admin_mysql.constructor.name);
|
|
38
38
|
console.log('直接Mysql实例类型:', direct_mysql.constructor.name);
|
|
@@ -42,10 +42,10 @@ function compareInstanceType(admin_mysql, direct_mysql) {
|
|
|
42
42
|
|
|
43
43
|
/**
|
|
44
44
|
* 检查缓存问题
|
|
45
|
-
* @param {
|
|
46
|
-
* @param {
|
|
45
|
+
* @param {object} config - 数据库配置
|
|
46
|
+
* @param {object} admin_mysql - mysqlAdmin实例
|
|
47
47
|
*/
|
|
48
|
-
async function
|
|
48
|
+
async function cache(config, admin_mysql) {
|
|
49
49
|
console.log('\n测试3: 检查缓存问题...');
|
|
50
50
|
const admin_mysql2 = mysqlAdmin('compare_test', config); // 相同scope
|
|
51
51
|
const admin_mysql3 = mysqlAdmin('compare_test2', config); // 不同scope
|
|
@@ -87,9 +87,9 @@ async function compareAdminDirect() {
|
|
|
87
87
|
const direct_mysql = new Mysql(config);
|
|
88
88
|
console.log('✅ 直接Mysql实例创建成功');
|
|
89
89
|
|
|
90
|
-
await
|
|
91
|
-
|
|
92
|
-
await
|
|
90
|
+
await runMethod(admin_mysql, direct_mysql);
|
|
91
|
+
instanceType(admin_mysql, direct_mysql);
|
|
92
|
+
await cache(config, admin_mysql);
|
|
93
93
|
|
|
94
94
|
} catch (error) {
|
|
95
95
|
console.log('❌ 实例创建失败:', error.message);
|
|
@@ -99,7 +99,7 @@ async function compareAdminDirect() {
|
|
|
99
99
|
/**
|
|
100
100
|
* 测试mm_sql模块中的适配器行为
|
|
101
101
|
*/
|
|
102
|
-
async function
|
|
102
|
+
async function sqlAdapter() {
|
|
103
103
|
console.log('\n=== 测试mm_sql模块中的适配器行为 ===');
|
|
104
104
|
|
|
105
105
|
try {
|
|
@@ -151,7 +151,7 @@ async function main() {
|
|
|
151
151
|
console.log('开始比较mysqlAdmin和直接Mysql实例的行为...\n');
|
|
152
152
|
|
|
153
153
|
await compareAdminDirect();
|
|
154
|
-
await
|
|
154
|
+
await sqlAdapter();
|
|
155
155
|
|
|
156
156
|
console.log('\n比较测试完成');
|
|
157
157
|
}
|
package/debug_error_test.js
CHANGED
|
@@ -2,9 +2,9 @@ const { Sql } = require('./index.js');
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* 测试适配器直接调用
|
|
5
|
-
* @param {
|
|
5
|
+
* @param {object} mysql_sql - MySQL实例
|
|
6
6
|
*/
|
|
7
|
-
async function
|
|
7
|
+
async function adapterDirect(mysql_sql) {
|
|
8
8
|
console.log('\n测试1: 直接调用适配器run方法...');
|
|
9
9
|
try {
|
|
10
10
|
await mysql_sql._adapter.run('SELECT * FROM non_existent_table_xyz');
|
|
@@ -16,9 +16,9 @@ async function testAdapterDirect(mysql_sql) {
|
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
18
|
* 测试mm_sql的run方法调用
|
|
19
|
-
* @param {
|
|
19
|
+
* @param {object} mysql_sql - MySQL实例
|
|
20
20
|
*/
|
|
21
|
-
async function
|
|
21
|
+
async function sqlRun(mysql_sql) {
|
|
22
22
|
console.log('\n测试2: 通过mm_sql的run方法调用...');
|
|
23
23
|
try {
|
|
24
24
|
await mysql_sql.run('SELECT * FROM non_existent_table_xyz');
|
|
@@ -30,9 +30,9 @@ async function testSqlRun(mysql_sql) {
|
|
|
30
30
|
|
|
31
31
|
/**
|
|
32
32
|
* 测试参数验证
|
|
33
|
-
* @param {
|
|
33
|
+
* @param {object} mysql_sql - MySQL实例
|
|
34
34
|
*/
|
|
35
|
-
async function
|
|
35
|
+
async function paramValid(mysql_sql) {
|
|
36
36
|
console.log('\n测试3: 测试参数验证...');
|
|
37
37
|
try {
|
|
38
38
|
await mysql_sql.run(123); // 无效参数类型
|
|
@@ -66,9 +66,9 @@ async function debugMysqlError() {
|
|
|
66
66
|
console.log('✅ mm_sql MySQL实例创建成功');
|
|
67
67
|
console.log('适配器类型:', mysql_sql._adapter?.constructor?.name);
|
|
68
68
|
|
|
69
|
-
await
|
|
70
|
-
await
|
|
71
|
-
await
|
|
69
|
+
await adapterDirect(mysql_sql);
|
|
70
|
+
await sqlRun(mysql_sql);
|
|
71
|
+
await paramValid(mysql_sql);
|
|
72
72
|
|
|
73
73
|
} catch (error) {
|
|
74
74
|
console.log('❌ mm_sql实例创建失败:', error.message);
|
|
@@ -77,9 +77,9 @@ async function debugMysqlError() {
|
|
|
77
77
|
|
|
78
78
|
/**
|
|
79
79
|
* 测试SQLite适配器直接调用
|
|
80
|
-
* @param {
|
|
80
|
+
* @param {object} sqlite_sql - SQLite实例
|
|
81
81
|
*/
|
|
82
|
-
async function
|
|
82
|
+
async function sqliteAdapter(sqlite_sql) {
|
|
83
83
|
console.log('\n测试1: 直接调用适配器run方法...');
|
|
84
84
|
try {
|
|
85
85
|
await sqlite_sql._adapter.run('SELECT * FROM non_existent_table_xyz');
|
|
@@ -91,9 +91,9 @@ async function testSqliteAdapter(sqlite_sql) {
|
|
|
91
91
|
|
|
92
92
|
/**
|
|
93
93
|
* 测试SQLite的run方法调用
|
|
94
|
-
* @param {
|
|
94
|
+
* @param {object} sqlite_sql - SQLite实例
|
|
95
95
|
*/
|
|
96
|
-
async function
|
|
96
|
+
async function sqliteRun(sqlite_sql) {
|
|
97
97
|
console.log('\n测试2: 通过mm_sql的run方法调用...');
|
|
98
98
|
try {
|
|
99
99
|
await sqlite_sql.run('SELECT * FROM non_existent_table_xyz');
|
|
@@ -105,9 +105,9 @@ async function testSqliteRun(sqlite_sql) {
|
|
|
105
105
|
|
|
106
106
|
/**
|
|
107
107
|
* 测试SQLite参数验证
|
|
108
|
-
* @param {
|
|
108
|
+
* @param {object} sqlite_sql - SQLite实例
|
|
109
109
|
*/
|
|
110
|
-
async function
|
|
110
|
+
async function sqliteParam(sqlite_sql) {
|
|
111
111
|
console.log('\n测试3: 测试参数验证...');
|
|
112
112
|
try {
|
|
113
113
|
await sqlite_sql.run(123); // 无效参数类型
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mm_sql",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.4",
|
|
4
4
|
"description": "一个通用的SQL帮助类,支持通过切换db_type实现对不同数据库的操作,包括MySQL和SQLite等",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -44,8 +44,8 @@
|
|
|
44
44
|
"node": ">=12.0.0"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"mm_mysql": "^2.2.
|
|
48
|
-
"mm_sqlite": "^1.2.
|
|
47
|
+
"mm_mysql": "^2.2.8",
|
|
48
|
+
"mm_sqlite": "^1.2.8"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
51
|
"eslint": "^9.39.2",
|