@mikro-orm/mssql 6.4.16-dev.11 → 6.4.16-dev.13

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.
Files changed (2) hide show
  1. package/MsSqlDriver.js +9 -3
  2. package/package.json +3 -3
package/MsSqlDriver.js CHANGED
@@ -46,7 +46,7 @@ class MsSqlDriver extends knex_1.AbstractSqlDriver {
46
46
  return `set identity_insert ${tableName} on; ${sql}; set identity_insert ${tableName} off`;
47
47
  });
48
48
  }
49
- return super.nativeInsertMany(entityName, data, options, sql => meta.hasTriggers ? this.appendOutputTable(entityName, sql) : sql);
49
+ return super.nativeInsertMany(entityName, data, options, sql => meta.hasTriggers ? this.appendOutputTable(entityName, data, sql) : sql);
50
50
  }
51
51
  createQueryBuilder(entityName, ctx, preferredConnectionType, convertCustomTypes, loggerContext, alias, em) {
52
52
  // do not compute the connectionType if EM is provided as it will be computed from it in the QB later on
@@ -57,10 +57,16 @@ class MsSqlDriver extends knex_1.AbstractSqlDriver {
57
57
  }
58
58
  return qb;
59
59
  }
60
- appendOutputTable(entityName, sql) {
60
+ appendOutputTable(entityName, data, sql) {
61
61
  const meta = this.metadata.get(entityName);
62
- const returningProps = meta.props.filter(prop => prop.primary || prop.defaultRaw);
62
+ const returningProps = meta.props
63
+ .filter(prop => prop.persist !== false && prop.defaultRaw || prop.autoincrement || prop.generated)
64
+ .filter(prop => !(prop.name in data[0]) || core_1.Utils.isRawSql(data[0][prop.name]));
63
65
  const returningFields = core_1.Utils.flatten(returningProps.map(prop => prop.fieldNames));
66
+ /* istanbul ignore next */
67
+ if (returningFields.length === 0) {
68
+ return sql;
69
+ }
64
70
  const tableName = this.getTableName(meta, {}, true);
65
71
  const selections = returningFields
66
72
  .map((field) => `[t].${this.platform.quoteIdentifier(field)}`)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mikro-orm/mssql",
3
- "version": "6.4.16-dev.11",
3
+ "version": "6.4.16-dev.13",
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
  "main": "index.js",
6
6
  "module": "index.mjs",
@@ -58,7 +58,7 @@
58
58
  "access": "public"
59
59
  },
60
60
  "dependencies": {
61
- "@mikro-orm/knex": "6.4.16-dev.11",
61
+ "@mikro-orm/knex": "6.4.16-dev.13",
62
62
  "tedious": "19.0.0",
63
63
  "tsqlstring": "1.0.1"
64
64
  },
@@ -66,6 +66,6 @@
66
66
  "@mikro-orm/core": "^6.4.15"
67
67
  },
68
68
  "peerDependencies": {
69
- "@mikro-orm/core": "6.4.16-dev.11"
69
+ "@mikro-orm/core": "6.4.16-dev.13"
70
70
  }
71
71
  }