@mikro-orm/sql 7.1.9-dev.17 → 7.1.9-dev.18

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mikro-orm/sql",
3
- "version": "7.1.9-dev.17",
3
+ "version": "7.1.9-dev.18",
4
4
  "description": "TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, MySQL, PostgreSQL and SQLite databases as well as usage with vanilla JavaScript.",
5
5
  "keywords": [
6
6
  "data-mapper",
@@ -53,7 +53,7 @@
53
53
  "@mikro-orm/core": "^7.1.8"
54
54
  },
55
55
  "peerDependencies": {
56
- "@mikro-orm/core": "7.1.9-dev.17"
56
+ "@mikro-orm/core": "7.1.9-dev.18"
57
57
  },
58
58
  "engines": {
59
59
  "node": ">= 22.17.0"
@@ -54,6 +54,8 @@ export declare class SqlSchemaGenerator extends AbstractSchemaGenerator<Abstract
54
54
  wrap?: boolean;
55
55
  ctx?: Transaction;
56
56
  }): Promise<void>;
57
+ /** Whether the statement has to be the first one in a query batch, e.g. `create trigger` on MSSQL. */
58
+ protected startsBatch(_statement: string): boolean;
57
59
  dropTableIfExists(name: string, schema?: string): Promise<void>;
58
60
  private wrapSchema;
59
61
  private append;
@@ -443,14 +443,19 @@ export class SqlSchemaGenerator extends AbstractSchemaGenerator {
443
443
  const groups = [];
444
444
  let i = 0;
445
445
  for (const line of lines) {
446
- if (line.trim() === '') {
446
+ const stmt = line.trim();
447
+ if (stmt === '') {
447
448
  if (groups[i]?.length > 0) {
448
449
  i++;
449
450
  }
450
451
  continue;
451
452
  }
453
+ // same boundary an empty line creates, for statements that have to start their own batch
454
+ if (groups[i]?.length > 0 && this.startsBatch(stmt)) {
455
+ i++;
456
+ }
452
457
  groups[i] ??= [];
453
- groups[i].push(line.trim());
458
+ groups[i].push(stmt);
454
459
  }
455
460
  if (groups.length === 0) {
456
461
  return;
@@ -471,6 +476,10 @@ export class SqlSchemaGenerator extends AbstractSchemaGenerator {
471
476
  });
472
477
  await Utils.runSerial(statements, stmt => this.driver.execute(stmt));
473
478
  }
479
+ /** Whether the statement has to be the first one in a query batch, e.g. `create trigger` on MSSQL. */
480
+ startsBatch(_statement) {
481
+ return false;
482
+ }
474
483
  async dropTableIfExists(name, schema) {
475
484
  const sql = this.helper.dropTableIfExists(name, schema);
476
485
  return this.execute(sql);