typeorm 0.2.41-dev.1f558b1 → 0.2.41-dev.29cb891

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 (71) hide show
  1. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js +33 -39
  2. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  3. package/browser/driver/cockroachdb/CockroachQueryRunner.js +24 -30
  4. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  5. package/browser/driver/mongodb/MongoConnectionOptions.d.ts +4 -0
  6. package/browser/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  7. package/browser/driver/mysql/MysqlQueryRunner.js +37 -39
  8. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  9. package/browser/driver/oracle/OracleDriver.js +1 -1
  10. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  11. package/browser/driver/oracle/OracleQueryRunner.js +13 -24
  12. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  13. package/browser/driver/postgres/PostgresDriver.d.ts +1 -0
  14. package/browser/driver/postgres/PostgresDriver.js +16 -7
  15. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  16. package/browser/driver/postgres/PostgresQueryRunner.d.ts +5 -0
  17. package/browser/driver/postgres/PostgresQueryRunner.js +314 -135
  18. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  19. package/browser/driver/sap/SapQueryRunner.js +36 -42
  20. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  21. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +8 -14
  22. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  23. package/browser/driver/sqlserver/SqlServerQueryRunner.js +31 -33
  24. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  25. package/browser/driver/types/MetadataTableType.d.ts +5 -0
  26. package/browser/driver/types/MetadataTableType.js +8 -0
  27. package/browser/driver/types/MetadataTableType.js.map +1 -0
  28. package/browser/migration/MigrationExecutor.js +55 -48
  29. package/browser/migration/MigrationExecutor.js.map +1 -1
  30. package/browser/query-runner/BaseQueryRunner.d.ts +22 -0
  31. package/browser/query-runner/BaseQueryRunner.js +34 -0
  32. package/browser/query-runner/BaseQueryRunner.js.map +1 -1
  33. package/browser/schema-builder/RdbmsSchemaBuilder.d.ts +5 -1
  34. package/browser/schema-builder/RdbmsSchemaBuilder.js +58 -49
  35. package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  36. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js +33 -39
  37. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  38. package/driver/cockroachdb/CockroachQueryRunner.js +24 -30
  39. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  40. package/driver/mongodb/MongoConnectionOptions.d.ts +4 -0
  41. package/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  42. package/driver/mysql/MysqlQueryRunner.js +37 -39
  43. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  44. package/driver/oracle/OracleDriver.js +1 -1
  45. package/driver/oracle/OracleDriver.js.map +1 -1
  46. package/driver/oracle/OracleQueryRunner.js +13 -24
  47. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  48. package/driver/postgres/PostgresDriver.d.ts +1 -0
  49. package/driver/postgres/PostgresDriver.js +16 -7
  50. package/driver/postgres/PostgresDriver.js.map +1 -1
  51. package/driver/postgres/PostgresQueryRunner.d.ts +5 -0
  52. package/driver/postgres/PostgresQueryRunner.js +314 -135
  53. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  54. package/driver/sap/SapQueryRunner.js +36 -42
  55. package/driver/sap/SapQueryRunner.js.map +1 -1
  56. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +8 -14
  57. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  58. package/driver/sqlserver/SqlServerQueryRunner.js +31 -33
  59. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  60. package/driver/types/MetadataTableType.d.ts +5 -0
  61. package/driver/types/MetadataTableType.js +11 -0
  62. package/driver/types/MetadataTableType.js.map +1 -0
  63. package/migration/MigrationExecutor.js +55 -48
  64. package/migration/MigrationExecutor.js.map +1 -1
  65. package/package.json +1 -1
  66. package/query-runner/BaseQueryRunner.d.ts +22 -0
  67. package/query-runner/BaseQueryRunner.js +34 -0
  68. package/query-runner/BaseQueryRunner.js.map +1 -1
  69. package/schema-builder/RdbmsSchemaBuilder.d.ts +5 -1
  70. package/schema-builder/RdbmsSchemaBuilder.js +58 -49
  71. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
@@ -14,6 +14,7 @@ import { TableUnique } from "../../schema-builder/table/TableUnique";
14
14
  import { BaseQueryRunner } from "../../query-runner/BaseQueryRunner";
15
15
  import { Broadcaster } from "../../subscriber/Broadcaster";
16
16
  import { TypeORMError } from "../../error";
17
+ import { MetadataTableType } from "../types/MetadataTableType";
17
18
  /**
18
19
  * Runs queries on a single mysql database connection.
19
20
  */
@@ -1655,7 +1656,7 @@ var AuroraDataApiQueryRunner = /** @class */ (function (_super) {
1655
1656
  return "(`t`.`schema` = '" + database + "' AND `t`.`name` = '" + name + "')";
1656
1657
  }).join(" OR ");
1657
1658
  query = "SELECT `t`.*, `v`.`check_option` FROM " + this.escapePath(this.getTypeormMetadataTableName()) + " `t` " +
1658
- ("INNER JOIN `information_schema`.`views` `v` ON `v`.`table_schema` = `t`.`schema` AND `v`.`table_name` = `t`.`name` WHERE `t`.`type` = 'VIEW' " + (viewsCondition ? "AND (" + viewsCondition + ")" : ""));
1659
+ ("INNER JOIN `information_schema`.`views` `v` ON `v`.`table_schema` = `t`.`schema` AND `v`.`table_name` = `t`.`name` WHERE `t`.`type` = '" + MetadataTableType.VIEW + "' " + (viewsCondition ? "AND (" + viewsCondition + ")" : ""));
1659
1660
  return [4 /*yield*/, this.query(query)];
1660
1661
  case 3:
1661
1662
  dbViews = _a.sent();
@@ -1767,23 +1768,23 @@ var AuroraDataApiQueryRunner = /** @class */ (function (_super) {
1767
1768
  table.columns = dbColumns
1768
1769
  .filter(function (dbColumn) { return dbColumn["TABLE_NAME"] === dbTable["TABLE_NAME"] && dbColumn["TABLE_SCHEMA"] === dbTable["TABLE_SCHEMA"]; })
1769
1770
  .map(function (dbColumn) {
1770
- var columnUniqueIndex = dbIndices.find(function (dbIndex) {
1771
- if (dbIndex["TABLE_NAME"] !== dbTable["TABLE_NAME"] || dbIndex["TABLE_SCHEMA"] !== dbTable["TABLE_SCHEMA"]) {
1772
- return false;
1773
- }
1774
- // Index is not for this column
1775
- if (dbIndex["COLUMN_NAME"] !== dbColumn["COLUMN_NAME"]) {
1776
- return false;
1777
- }
1778
- var nonUnique = parseInt(dbIndex["NON_UNIQUE"], 10);
1779
- return nonUnique === 0;
1771
+ var columnUniqueIndices = dbIndices.filter(function (dbIndex) {
1772
+ return dbIndex["TABLE_NAME"] === dbTable["TABLE_NAME"]
1773
+ && dbIndex["TABLE_SCHEMA"] === dbTable["TABLE_SCHEMA"]
1774
+ && dbIndex["COLUMN_NAME"] === dbColumn["COLUMN_NAME"]
1775
+ && parseInt(dbIndex["NON_UNIQUE"], 10) === 0;
1780
1776
  });
1781
1777
  var tableMetadata = _this.connection.entityMetadatas.find(function (metadata) { return _this.getTablePath(table) === _this.getTablePath(metadata); });
1782
- var hasIgnoredIndex = columnUniqueIndex && tableMetadata && tableMetadata.indices
1783
- .some(function (index) { return index.name === columnUniqueIndex["INDEX_NAME"] && index.synchronize === false; });
1784
- var isConstraintComposite = columnUniqueIndex
1785
- ? !!dbIndices.find(function (dbIndex) { return dbIndex["INDEX_NAME"] === columnUniqueIndex["INDEX_NAME"] && dbIndex["COLUMN_NAME"] !== dbColumn["COLUMN_NAME"]; })
1786
- : false;
1778
+ var hasIgnoredIndex = columnUniqueIndices.length > 0
1779
+ && tableMetadata
1780
+ && tableMetadata.indices.some(function (index) {
1781
+ return columnUniqueIndices.some(function (uniqueIndex) {
1782
+ return index.name === uniqueIndex["INDEX_NAME"] && index.synchronize === false;
1783
+ });
1784
+ });
1785
+ var isConstraintComposite = columnUniqueIndices.every(function (uniqueIndex) {
1786
+ return dbIndices.some(function (dbIndex) { return dbIndex["INDEX_NAME"] === uniqueIndex["INDEX_NAME"] && dbIndex["COLUMN_NAME"] !== dbColumn["COLUMN_NAME"]; });
1787
+ });
1787
1788
  var tableColumn = new TableColumn();
1788
1789
  tableColumn.name = dbColumn["COLUMN_NAME"];
1789
1790
  tableColumn.type = dbColumn["DATA_TYPE"].toLowerCase();
@@ -1805,7 +1806,7 @@ var AuroraDataApiQueryRunner = /** @class */ (function (_super) {
1805
1806
  tableColumn.asExpression = dbColumn["GENERATION_EXPRESSION"];
1806
1807
  tableColumn.generatedType = dbColumn["EXTRA"].indexOf("VIRTUAL") !== -1 ? "VIRTUAL" : "STORED";
1807
1808
  }
1808
- tableColumn.isUnique = !!columnUniqueIndex && !hasIgnoredIndex && !isConstraintComposite;
1809
+ tableColumn.isUnique = columnUniqueIndices.length > 0 && !hasIgnoredIndex && !isConstraintComposite;
1809
1810
  tableColumn.isNullable = dbColumn["IS_NULLABLE"] === "YES";
1810
1811
  tableColumn.isPrimary = dbPrimaryKeys.some(function (dbPrimaryKey) {
1811
1812
  return (dbPrimaryKey["TABLE_NAME"] === dbColumn["TABLE_NAME"] &&
@@ -1986,19 +1987,19 @@ var AuroraDataApiQueryRunner = /** @class */ (function (_super) {
1986
1987
  };
1987
1988
  AuroraDataApiQueryRunner.prototype.insertViewDefinitionSql = function (view) {
1988
1989
  return __awaiter(this, void 0, void 0, function () {
1989
- var currentDatabase, expression, _a, query, parameters;
1990
- return __generator(this, function (_b) {
1991
- switch (_b.label) {
1990
+ var currentDatabase, expression;
1991
+ return __generator(this, function (_a) {
1992
+ switch (_a.label) {
1992
1993
  case 0: return [4 /*yield*/, this.getCurrentDatabase()];
1993
1994
  case 1:
1994
- currentDatabase = _b.sent();
1995
+ currentDatabase = _a.sent();
1995
1996
  expression = typeof view.expression === "string" ? view.expression.trim() : view.expression(this.connection).getQuery();
1996
- _a = __read(this.connection.createQueryBuilder()
1997
- .insert()
1998
- .into(this.getTypeormMetadataTableName())
1999
- .values({ type: "VIEW", schema: currentDatabase, name: view.name, value: expression })
2000
- .getQueryAndParameters(), 2), query = _a[0], parameters = _a[1];
2001
- return [2 /*return*/, new Query(query, parameters)];
1997
+ return [2 /*return*/, this.insertTypeormMetadataSql({
1998
+ type: MetadataTableType.VIEW,
1999
+ schema: currentDatabase,
2000
+ name: view.name,
2001
+ value: expression
2002
+ })];
2002
2003
  }
2003
2004
  });
2004
2005
  });
@@ -2014,21 +2015,14 @@ var AuroraDataApiQueryRunner = /** @class */ (function (_super) {
2014
2015
  */
2015
2016
  AuroraDataApiQueryRunner.prototype.deleteViewDefinitionSql = function (viewOrPath) {
2016
2017
  return __awaiter(this, void 0, void 0, function () {
2017
- var currentDatabase, viewName, qb, _a, query, parameters;
2018
- return __generator(this, function (_b) {
2019
- switch (_b.label) {
2018
+ var currentDatabase, viewName;
2019
+ return __generator(this, function (_a) {
2020
+ switch (_a.label) {
2020
2021
  case 0: return [4 /*yield*/, this.getCurrentDatabase()];
2021
2022
  case 1:
2022
- currentDatabase = _b.sent();
2023
+ currentDatabase = _a.sent();
2023
2024
  viewName = viewOrPath instanceof View ? viewOrPath.name : viewOrPath;
2024
- qb = this.connection.createQueryBuilder();
2025
- _a = __read(qb.delete()
2026
- .from(this.getTypeormMetadataTableName())
2027
- .where(qb.escape("type") + " = 'VIEW'")
2028
- .andWhere(qb.escape("schema") + " = :schema", { schema: currentDatabase })
2029
- .andWhere(qb.escape("name") + " = :name", { name: viewName })
2030
- .getQueryAndParameters(), 2), query = _a[0], parameters = _a[1];
2031
- return [2 /*return*/, new Query(query, parameters)];
2025
+ return [2 /*return*/, this.deleteTypeormMetadataSql({ type: MetadataTableType.VIEW, schema: currentDatabase, name: viewName })];
2032
2026
  }
2033
2027
  });
2034
2028
  });