@reldens/storage 0.113.0 → 0.114.0

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.
@@ -59,6 +59,7 @@ class MikroOrmDataServer extends BaseDataServer
59
59
  dbName: this.config.database,
60
60
  clientUrl: this.connectString,
61
61
  allowGlobalContext: true,
62
+ multipleStatements: this.multipleStatements
62
63
  };
63
64
  providedSetup.entities = this.getEntitiesToRegister();
64
65
  providedSetup.discovery = {warnWhenNoEntities: this.warnWhenNoEntities};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@reldens/storage",
3
3
  "scope": "@reldens",
4
- "version": "0.113.0",
4
+ "version": "0.114.0",
5
5
  "description": "Reldens - Storage",
6
6
  "author": "Damian A. Pastorini",
7
7
  "license": "MIT",
@@ -51,11 +51,11 @@
51
51
  "test:driver": "node tests/run-tests.js --driver="
52
52
  },
53
53
  "dependencies": {
54
- "@mikro-orm/core": "7.1.14",
55
- "@mikro-orm/mongodb": "7.1.14",
56
- "@mikro-orm/mysql": "7.1.14",
54
+ "@mikro-orm/core": "7.1.15",
55
+ "@mikro-orm/mongodb": "7.1.15",
56
+ "@mikro-orm/mysql": "7.1.15",
57
57
  "@reldens/server-utils": "^0.57.0",
58
- "@reldens/utils": "^0.57.0",
58
+ "@reldens/utils": "^0.58.0",
59
59
  "knex": "3.3.0",
60
60
  "mysql": "2.18.1",
61
61
  "mysql2": "3.24.3",
@@ -70,46 +70,58 @@ class RawQueriesTest
70
70
  {
71
71
  this.runner.group('Multiple Statements');
72
72
  await TestHelpers.cleanDatabase(this.dataServer);
73
- if('prisma' === this.driverName){
74
- await this.runner.test('should execute multiple statements in one rawQuery call', async () => {
75
- let results = await this.dataServer.rawQuery(
76
- 'INSERT INTO test_categories (id, name, slug, is_active, display_order)'
77
- +' VALUES (9002, \'Raw Multi 1\', \'raw-multi-1\', 1, 1);'
78
- +'INSERT INTO test_categories (id, name, slug, is_active, display_order)'
79
- +' VALUES (9003, \'Raw Multi 2\', \'raw-multi-2\', 1, 2);'
80
- );
81
- assert.ok(results);
82
- assert.ok(Array.isArray(results));
83
- assert.strictEqual(results.length, 2);
84
- let rows = await this.dataServer.rawQuery(
85
- 'SELECT id, name FROM test_categories ORDER BY id'
86
- );
87
- assert.ok(rows);
88
- assert.ok(Array.isArray(rows));
89
- assert.strictEqual(rows.length, 2);
90
- assert.strictEqual(rows[0].name, 'Raw Multi 1');
91
- assert.strictEqual(rows[1].name, 'Raw Multi 2');
92
- });
93
- } else {
94
- await this.runner.test('should execute multiple sequential rawQuery calls', async () => {
95
- await this.dataServer.rawQuery(
96
- 'INSERT INTO test_categories (id, name, slug, is_active, display_order)'
97
- +' VALUES (9002, \'Raw Multi 1\', \'raw-multi-1\', 1, 1)'
98
- );
99
- await this.dataServer.rawQuery(
100
- 'INSERT INTO test_categories (id, name, slug, is_active, display_order)'
101
- +' VALUES (9003, \'Raw Multi 2\', \'raw-multi-2\', 1, 2)'
102
- );
103
- let result = await this.dataServer.rawQuery(
104
- 'SELECT id, name FROM test_categories ORDER BY id'
105
- );
106
- assert.ok(result);
107
- assert.ok(Array.isArray(result));
108
- assert.strictEqual(result.length, 2);
109
- assert.strictEqual(result[0].name, 'Raw Multi 1');
110
- assert.strictEqual(result[1].name, 'Raw Multi 2');
111
- });
112
- }
73
+ await this.runner.test('should execute multiple statements in one rawQuery call', async () => {
74
+ let results = await this.dataServer.rawQuery(
75
+ 'INSERT INTO test_categories (id, name, slug, is_active, display_order)'
76
+ +' VALUES (9002, \'Raw Multi 1\', \'raw-multi-1\', 1, 1);'
77
+ +'INSERT INTO test_categories (id, name, slug, is_active, display_order)'
78
+ +' VALUES (9003, \'Raw Multi 2\', \'raw-multi-2\', 1, 2);'
79
+ );
80
+ assert.ok(results);
81
+ assert.ok(Array.isArray(results));
82
+ assert.strictEqual(results.length, 2);
83
+ let rows = await this.dataServer.rawQuery(
84
+ 'SELECT id, name FROM test_categories WHERE id IN (9002, 9003) ORDER BY id'
85
+ );
86
+ assert.ok(rows);
87
+ assert.ok(Array.isArray(rows));
88
+ assert.strictEqual(rows.length, 2);
89
+ assert.strictEqual(rows[0].name, 'Raw Multi 1');
90
+ assert.strictEqual(rows[1].name, 'Raw Multi 2');
91
+ });
92
+ await this.runner.test('should return one result set per SELECT in one rawQuery call', async () => {
93
+ let results = await this.dataServer.rawQuery(
94
+ 'SELECT id, name FROM test_categories WHERE id = 9002;'
95
+ +'SELECT id, name FROM test_categories WHERE id = 9003;'
96
+ );
97
+ assert.ok(results);
98
+ assert.ok(Array.isArray(results));
99
+ assert.strictEqual(results.length, 2);
100
+ assert.ok(Array.isArray(results[0]));
101
+ assert.ok(Array.isArray(results[1]));
102
+ assert.strictEqual(results[0].length, 1);
103
+ assert.strictEqual(results[1].length, 1);
104
+ assert.strictEqual(results[0][0].name, 'Raw Multi 1');
105
+ assert.strictEqual(results[1][0].name, 'Raw Multi 2');
106
+ });
107
+ await this.runner.test('should execute multiple sequential rawQuery calls', async () => {
108
+ await this.dataServer.rawQuery(
109
+ 'INSERT INTO test_categories (id, name, slug, is_active, display_order)'
110
+ +' VALUES (9004, \'Raw Sequential 1\', \'raw-sequential-1\', 1, 3)'
111
+ );
112
+ await this.dataServer.rawQuery(
113
+ 'INSERT INTO test_categories (id, name, slug, is_active, display_order)'
114
+ +' VALUES (9005, \'Raw Sequential 2\', \'raw-sequential-2\', 1, 4)'
115
+ );
116
+ let result = await this.dataServer.rawQuery(
117
+ 'SELECT id, name FROM test_categories WHERE id IN (9004, 9005) ORDER BY id'
118
+ );
119
+ assert.ok(result);
120
+ assert.ok(Array.isArray(result));
121
+ assert.strictEqual(result.length, 2);
122
+ assert.strictEqual(result[0].name, 'Raw Sequential 1');
123
+ assert.strictEqual(result[1].name, 'Raw Sequential 2');
124
+ });
113
125
  }
114
126
 
115
127
  }
@@ -42,8 +42,9 @@ class TestHelpers
42
42
  }
43
43
  let serverConfig = {
44
44
  client: driverName === 'objection-js' ? 'mysql2' : 'mysql',
45
- config: config,
46
- rawEntities: rawEntities
45
+ config: {...config, multipleStatements: true},
46
+ rawEntities: rawEntities,
47
+ multipleStatements: true
47
48
  };
48
49
  if('prisma' === driverName){
49
50
  let prismaModules = await this.loadPrismaModules(process.cwd(), config);