typeorm 0.3.18-dev.48f5f85 → 0.3.18-dev.6d5b5d9

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 (103) hide show
  1. package/browser/decorator/Index.js +1 -0
  2. package/browser/decorator/Index.js.map +1 -1
  3. package/browser/decorator/options/IndexOptions.d.ts +5 -0
  4. package/browser/decorator/options/IndexOptions.js.map +1 -1
  5. package/browser/driver/mongodb/MongoQueryRunner.d.ts +3 -3
  6. package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
  7. package/browser/driver/mongodb/typings.d.ts +3 -3
  8. package/browser/driver/mongodb/typings.js.map +1 -1
  9. package/browser/driver/oracle/OracleQueryRunner.js +34 -2
  10. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  11. package/browser/driver/postgres/PostgresQueryRunner.js +26 -15
  12. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  13. package/browser/driver/sap/SapDriver.d.ts +8 -0
  14. package/browser/driver/sap/SapDriver.js +13 -2
  15. package/browser/driver/sap/SapDriver.js.map +1 -1
  16. package/browser/driver/sap/SapQueryRunner.d.ts +5 -14
  17. package/browser/driver/sap/SapQueryRunner.js +53 -55
  18. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  19. package/browser/entity-manager/MongoEntityManager.d.ts +3 -3
  20. package/browser/entity-manager/MongoEntityManager.js +1 -2
  21. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  22. package/browser/entity-schema/EntitySchemaOptions.d.ts +4 -0
  23. package/browser/entity-schema/EntitySchemaOptions.js.map +1 -1
  24. package/browser/entity-schema/EntitySchemaTransformer.js +7 -0
  25. package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
  26. package/browser/metadata/IndexMetadata.d.ts +5 -0
  27. package/browser/metadata/IndexMetadata.js +1 -0
  28. package/browser/metadata/IndexMetadata.js.map +1 -1
  29. package/browser/metadata-args/IndexMetadataArgs.d.ts +5 -0
  30. package/browser/metadata-args/IndexMetadataArgs.js.map +1 -1
  31. package/browser/metadata-builder/EntityMetadataBuilder.js +22 -0
  32. package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  33. package/browser/persistence/SubjectExecutor.js +4 -1
  34. package/browser/persistence/SubjectExecutor.js.map +1 -1
  35. package/browser/platform/PlatformTools.js +2 -0
  36. package/browser/platform/PlatformTools.js.map +1 -1
  37. package/browser/query-builder/SelectQueryBuilder.js +4 -1
  38. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  39. package/browser/repository/MongoRepository.d.ts +3 -3
  40. package/browser/repository/MongoRepository.js.map +1 -1
  41. package/browser/schema-builder/options/TableIndexOptions.d.ts +5 -0
  42. package/browser/schema-builder/options/TableIndexOptions.js.map +1 -1
  43. package/browser/schema-builder/table/TableIndex.d.ts +5 -0
  44. package/browser/schema-builder/table/TableIndex.js +3 -0
  45. package/browser/schema-builder/table/TableIndex.js.map +1 -1
  46. package/browser/subscriber/Broadcaster.d.ts +1 -1
  47. package/browser/subscriber/Broadcaster.js +2 -1
  48. package/browser/subscriber/Broadcaster.js.map +1 -1
  49. package/browser/subscriber/event/InsertEvent.d.ts +5 -0
  50. package/browser/subscriber/event/InsertEvent.js.map +1 -1
  51. package/commands/MigrationGenerateCommand.js +3 -1
  52. package/commands/MigrationGenerateCommand.js.map +1 -1
  53. package/decorator/Index.js +1 -0
  54. package/decorator/Index.js.map +1 -1
  55. package/decorator/options/IndexOptions.d.ts +5 -0
  56. package/decorator/options/IndexOptions.js.map +1 -1
  57. package/driver/mongodb/MongoQueryRunner.d.ts +3 -3
  58. package/driver/mongodb/MongoQueryRunner.js.map +1 -1
  59. package/driver/mongodb/typings.d.ts +3 -3
  60. package/driver/mongodb/typings.js.map +1 -1
  61. package/driver/oracle/OracleQueryRunner.js +34 -2
  62. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  63. package/driver/postgres/PostgresQueryRunner.js +26 -15
  64. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  65. package/driver/sap/SapDriver.d.ts +8 -0
  66. package/driver/sap/SapDriver.js +13 -2
  67. package/driver/sap/SapDriver.js.map +1 -1
  68. package/driver/sap/SapQueryRunner.d.ts +5 -14
  69. package/driver/sap/SapQueryRunner.js +53 -55
  70. package/driver/sap/SapQueryRunner.js.map +1 -1
  71. package/entity-manager/MongoEntityManager.d.ts +3 -3
  72. package/entity-manager/MongoEntityManager.js +1 -2
  73. package/entity-manager/MongoEntityManager.js.map +1 -1
  74. package/entity-schema/EntitySchemaOptions.d.ts +4 -0
  75. package/entity-schema/EntitySchemaOptions.js.map +1 -1
  76. package/entity-schema/EntitySchemaTransformer.js +7 -0
  77. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  78. package/metadata/IndexMetadata.d.ts +5 -0
  79. package/metadata/IndexMetadata.js +1 -0
  80. package/metadata/IndexMetadata.js.map +1 -1
  81. package/metadata-args/IndexMetadataArgs.d.ts +5 -0
  82. package/metadata-args/IndexMetadataArgs.js.map +1 -1
  83. package/metadata-builder/EntityMetadataBuilder.js +22 -0
  84. package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  85. package/package.json +1 -1
  86. package/persistence/SubjectExecutor.js +4 -1
  87. package/persistence/SubjectExecutor.js.map +1 -1
  88. package/platform/PlatformTools.js +2 -0
  89. package/platform/PlatformTools.js.map +1 -1
  90. package/query-builder/SelectQueryBuilder.js +4 -1
  91. package/query-builder/SelectQueryBuilder.js.map +1 -1
  92. package/repository/MongoRepository.d.ts +3 -3
  93. package/repository/MongoRepository.js.map +1 -1
  94. package/schema-builder/options/TableIndexOptions.d.ts +5 -0
  95. package/schema-builder/options/TableIndexOptions.js.map +1 -1
  96. package/schema-builder/table/TableIndex.d.ts +5 -0
  97. package/schema-builder/table/TableIndex.js +3 -0
  98. package/schema-builder/table/TableIndex.js.map +1 -1
  99. package/subscriber/Broadcaster.d.ts +1 -1
  100. package/subscriber/Broadcaster.js +2 -1
  101. package/subscriber/Broadcaster.js.map +1 -1
  102. package/subscriber/event/InsertEvent.d.ts +5 -0
  103. package/subscriber/event/InsertEvent.js.map +1 -1
@@ -1860,26 +1860,34 @@ class PostgresQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
1860
1860
  tableColumn.name = dbColumn["column_name"];
1861
1861
  tableColumn.type = dbColumn["regtype"].toLowerCase();
1862
1862
  if (tableColumn.type === "numeric" ||
1863
+ tableColumn.type === "numeric[]" ||
1863
1864
  tableColumn.type === "decimal" ||
1864
1865
  tableColumn.type === "float") {
1866
+ let numericPrecision = dbColumn["numeric_precision"];
1867
+ let numericScale = dbColumn["numeric_scale"];
1868
+ if (dbColumn["data_type"] === "ARRAY") {
1869
+ const numericSize = dbColumn["format_type"].match(/^numeric\(([0-9]+),([0-9]+)\)\[\]$/);
1870
+ if (numericSize) {
1871
+ numericPrecision = +numericSize[1];
1872
+ numericScale = +numericSize[2];
1873
+ }
1874
+ }
1865
1875
  // If one of these properties was set, and another was not, Postgres sets '0' in to unspecified property
1866
1876
  // we set 'undefined' in to unspecified property to avoid changing column on sync
1867
- if (dbColumn["numeric_precision"] !== null &&
1868
- !this.isDefaultColumnPrecision(table, tableColumn, dbColumn["numeric_precision"])) {
1869
- tableColumn.precision =
1870
- dbColumn["numeric_precision"];
1877
+ if (numericPrecision !== null &&
1878
+ !this.isDefaultColumnPrecision(table, tableColumn, numericPrecision)) {
1879
+ tableColumn.precision = numericPrecision;
1871
1880
  }
1872
- else if (dbColumn["numeric_scale"] !== null &&
1873
- !this.isDefaultColumnScale(table, tableColumn, dbColumn["numeric_scale"])) {
1881
+ else if (numericScale !== null &&
1882
+ !this.isDefaultColumnScale(table, tableColumn, numericScale)) {
1874
1883
  tableColumn.precision = undefined;
1875
1884
  }
1876
- if (dbColumn["numeric_scale"] !== null &&
1877
- !this.isDefaultColumnScale(table, tableColumn, dbColumn["numeric_scale"])) {
1878
- tableColumn.scale =
1879
- dbColumn["numeric_scale"];
1885
+ if (numericScale !== null &&
1886
+ !this.isDefaultColumnScale(table, tableColumn, numericScale)) {
1887
+ tableColumn.scale = numericScale;
1880
1888
  }
1881
- else if (dbColumn["numeric_precision"] !== null &&
1882
- !this.isDefaultColumnPrecision(table, tableColumn, dbColumn["numeric_precision"])) {
1889
+ else if (numericPrecision !== null &&
1890
+ !this.isDefaultColumnPrecision(table, tableColumn, numericPrecision)) {
1883
1891
  tableColumn.scale = undefined;
1884
1892
  }
1885
1893
  }
@@ -2383,7 +2391,7 @@ class PostgresQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
2383
2391
  const columns = index.columnNames
2384
2392
  .map((columnName) => `"${columnName}"`)
2385
2393
  .join(", ");
2386
- return new Query_1.Query(`CREATE ${index.isUnique ? "UNIQUE " : ""}INDEX "${index.name}" ON ${this.escapePath(table)} ${index.isSpatial ? "USING GiST " : ""}(${columns}) ${index.where ? "WHERE " + index.where : ""}`);
2394
+ return new Query_1.Query(`CREATE ${index.isUnique ? "UNIQUE " : ""}${index.isConcurrent ? "CONCURRENTLY " : ""}INDEX "${index.name}" ON ${this.escapePath(table)} ${index.isSpatial ? "USING GiST " : ""}(${columns}) ${index.where ? "WHERE " + index.where : ""}`);
2387
2395
  }
2388
2396
  /**
2389
2397
  * Builds create view index sql.
@@ -2401,10 +2409,13 @@ class PostgresQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
2401
2409
  let indexName = InstanceChecker_1.InstanceChecker.isTableIndex(indexOrName)
2402
2410
  ? indexOrName.name
2403
2411
  : indexOrName;
2412
+ const concurrent = InstanceChecker_1.InstanceChecker.isTableIndex(indexOrName)
2413
+ ? indexOrName.isConcurrent
2414
+ : false;
2404
2415
  const { schema } = this.driver.parseTableName(table);
2405
2416
  return schema
2406
- ? new Query_1.Query(`DROP INDEX "${schema}"."${indexName}"`)
2407
- : new Query_1.Query(`DROP INDEX "${indexName}"`);
2417
+ ? new Query_1.Query(`DROP INDEX ${concurrent ? "CONCURRENTLY" : ""}"${schema}"."${indexName}"`)
2418
+ : new Query_1.Query(`DROP INDEX ${concurrent ? "CONCURRENTLY" : ""}"${indexName}"`);
2408
2419
  }
2409
2420
  /**
2410
2421
  * Builds create primary key sql.