typeorm 0.3.18-dev.a909d5b → 0.3.18-dev.ad5bf11

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 (166) hide show
  1. package/README.md +23 -23
  2. package/browser/driver/DriverUtils.js +2 -5
  3. package/browser/driver/DriverUtils.js.map +1 -1
  4. package/browser/driver/mongodb/MongoQueryRunner.d.ts +3 -3
  5. package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
  6. package/browser/driver/mongodb/typings.d.ts +3 -3
  7. package/browser/driver/mongodb/typings.js.map +1 -1
  8. package/browser/driver/oracle/OracleQueryRunner.js +34 -2
  9. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  10. package/browser/driver/postgres/PostgresQueryRunner.js +20 -12
  11. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  12. package/browser/driver/sap/SapDriver.d.ts +8 -0
  13. package/browser/driver/sap/SapDriver.js +14 -3
  14. package/browser/driver/sap/SapDriver.js.map +1 -1
  15. package/browser/driver/sap/SapQueryRunner.d.ts +5 -14
  16. package/browser/driver/sap/SapQueryRunner.js +53 -55
  17. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  18. package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +2 -1
  19. package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
  20. package/browser/driver/sqlserver/SqlServerConnectionOptions.d.ts +5 -0
  21. package/browser/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  22. package/browser/driver/sqlserver/SqlServerQueryRunner.js +13 -0
  23. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  24. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.d.ts +12 -0
  25. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js +3 -0
  26. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js.map +1 -0
  27. package/browser/entity-manager/EntityManager.js +5 -1
  28. package/browser/entity-manager/EntityManager.js.map +1 -1
  29. package/browser/entity-manager/MongoEntityManager.d.ts +8 -4
  30. package/browser/entity-manager/MongoEntityManager.js +8 -2
  31. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  32. package/browser/entity-schema/EntitySchemaOptions.d.ts +4 -0
  33. package/browser/entity-schema/EntitySchemaOptions.js.map +1 -1
  34. package/browser/entity-schema/EntitySchemaTransformer.js +7 -0
  35. package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
  36. package/browser/error/QueryFailedError.d.ts +3 -3
  37. package/browser/error/QueryFailedError.js.map +1 -1
  38. package/browser/find-options/FindOptionsUtils.js +1 -1
  39. package/browser/find-options/FindOptionsUtils.js.map +1 -1
  40. package/browser/find-options/FindOptionsWhere.d.ts +1 -1
  41. package/browser/find-options/FindOptionsWhere.js.map +1 -1
  42. package/browser/index.d.ts +1 -0
  43. package/browser/index.js +1 -0
  44. package/browser/index.js.map +1 -1
  45. package/browser/metadata-builder/EntityMetadataBuilder.js +22 -0
  46. package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  47. package/browser/naming-strategy/DefaultNamingStrategy.d.ts +0 -1
  48. package/browser/naming-strategy/DefaultNamingStrategy.js +0 -3
  49. package/browser/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  50. package/browser/naming-strategy/NamingStrategyInterface.d.ts +0 -4
  51. package/browser/naming-strategy/NamingStrategyInterface.js.map +1 -1
  52. package/browser/persistence/Subject.js +2 -1
  53. package/browser/persistence/Subject.js.map +1 -1
  54. package/browser/persistence/SubjectExecutor.js +1 -1
  55. package/browser/persistence/SubjectExecutor.js.map +1 -1
  56. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js +6 -2
  57. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  58. package/browser/platform/PlatformTools.js +2 -0
  59. package/browser/platform/PlatformTools.js.map +1 -1
  60. package/browser/query-builder/QueryBuilder.js +1 -1
  61. package/browser/query-builder/QueryBuilder.js.map +1 -1
  62. package/browser/query-builder/SelectQueryBuilder.js +4 -1
  63. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  64. package/browser/repository/MongoRepository.d.ts +8 -4
  65. package/browser/repository/MongoRepository.js +6 -0
  66. package/browser/repository/MongoRepository.js.map +1 -1
  67. package/browser/repository/Repository.d.ts +1 -1
  68. package/browser/repository/Repository.js +9 -5
  69. package/browser/repository/Repository.js.map +1 -1
  70. package/browser/subscriber/Broadcaster.d.ts +1 -1
  71. package/browser/subscriber/Broadcaster.js +2 -1
  72. package/browser/subscriber/Broadcaster.js.map +1 -1
  73. package/browser/subscriber/event/InsertEvent.d.ts +5 -0
  74. package/browser/subscriber/event/InsertEvent.js.map +1 -1
  75. package/commands/CommandUtils.js +6 -1
  76. package/commands/CommandUtils.js.map +1 -1
  77. package/commands/EntityCreateCommand.d.ts +3 -0
  78. package/commands/EntityCreateCommand.js +7 -0
  79. package/commands/EntityCreateCommand.js.map +1 -1
  80. package/commands/InitCommand.js +1 -1
  81. package/commands/InitCommand.js.map +1 -1
  82. package/commands/MigrationCreateCommand.d.ts +5 -1
  83. package/commands/MigrationCreateCommand.js +6 -1
  84. package/commands/MigrationCreateCommand.js.map +1 -1
  85. package/commands/MigrationGenerateCommand.d.ts +5 -1
  86. package/commands/MigrationGenerateCommand.js +8 -1
  87. package/commands/MigrationGenerateCommand.js.map +1 -1
  88. package/commands/SubscriberCreateCommand.d.ts +3 -0
  89. package/commands/SubscriberCreateCommand.js +7 -0
  90. package/commands/SubscriberCreateCommand.js.map +1 -1
  91. package/driver/DriverUtils.js +2 -5
  92. package/driver/DriverUtils.js.map +1 -1
  93. package/driver/mongodb/MongoQueryRunner.d.ts +3 -3
  94. package/driver/mongodb/MongoQueryRunner.js.map +1 -1
  95. package/driver/mongodb/typings.d.ts +3 -3
  96. package/driver/mongodb/typings.js.map +1 -1
  97. package/driver/oracle/OracleQueryRunner.js +34 -2
  98. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  99. package/driver/postgres/PostgresQueryRunner.js +20 -12
  100. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  101. package/driver/sap/SapDriver.d.ts +8 -0
  102. package/driver/sap/SapDriver.js +15 -4
  103. package/driver/sap/SapDriver.js.map +1 -1
  104. package/driver/sap/SapQueryRunner.d.ts +5 -14
  105. package/driver/sap/SapQueryRunner.js +53 -55
  106. package/driver/sap/SapQueryRunner.js.map +1 -1
  107. package/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +2 -1
  108. package/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
  109. package/driver/sqlserver/SqlServerConnectionOptions.d.ts +5 -0
  110. package/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  111. package/driver/sqlserver/SqlServerQueryRunner.js +13 -0
  112. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  113. package/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.d.ts +12 -0
  114. package/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js +4 -0
  115. package/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js.map +1 -0
  116. package/entity-manager/EntityManager.js +5 -1
  117. package/entity-manager/EntityManager.js.map +1 -1
  118. package/entity-manager/MongoEntityManager.d.ts +8 -4
  119. package/entity-manager/MongoEntityManager.js +8 -2
  120. package/entity-manager/MongoEntityManager.js.map +1 -1
  121. package/entity-schema/EntitySchemaOptions.d.ts +4 -0
  122. package/entity-schema/EntitySchemaOptions.js.map +1 -1
  123. package/entity-schema/EntitySchemaTransformer.js +7 -0
  124. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  125. package/error/QueryFailedError.d.ts +3 -3
  126. package/error/QueryFailedError.js.map +1 -1
  127. package/find-options/FindOptionsUtils.js +1 -1
  128. package/find-options/FindOptionsUtils.js.map +1 -1
  129. package/find-options/FindOptionsWhere.d.ts +1 -1
  130. package/find-options/FindOptionsWhere.js.map +1 -1
  131. package/index.d.ts +1 -0
  132. package/index.js +1 -0
  133. package/index.js.map +1 -1
  134. package/index.mjs +2 -0
  135. package/metadata-builder/EntityMetadataBuilder.js +22 -0
  136. package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  137. package/naming-strategy/DefaultNamingStrategy.d.ts +0 -1
  138. package/naming-strategy/DefaultNamingStrategy.js +0 -3
  139. package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  140. package/naming-strategy/NamingStrategyInterface.d.ts +0 -4
  141. package/naming-strategy/NamingStrategyInterface.js.map +1 -1
  142. package/package.json +1 -1
  143. package/persistence/Subject.js +2 -1
  144. package/persistence/Subject.js.map +1 -1
  145. package/persistence/SubjectExecutor.js +1 -1
  146. package/persistence/SubjectExecutor.js.map +1 -1
  147. package/persistence/subject-builder/ManyToManySubjectBuilder.js +6 -2
  148. package/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  149. package/platform/PlatformTools.js +2 -0
  150. package/platform/PlatformTools.js.map +1 -1
  151. package/query-builder/QueryBuilder.js +1 -1
  152. package/query-builder/QueryBuilder.js.map +1 -1
  153. package/query-builder/SelectQueryBuilder.js +4 -1
  154. package/query-builder/SelectQueryBuilder.js.map +1 -1
  155. package/repository/MongoRepository.d.ts +8 -4
  156. package/repository/MongoRepository.js +6 -0
  157. package/repository/MongoRepository.js.map +1 -1
  158. package/repository/Repository.d.ts +1 -1
  159. package/repository/Repository.js +9 -5
  160. package/repository/Repository.js.map +1 -1
  161. package/subscriber/Broadcaster.d.ts +1 -1
  162. package/subscriber/Broadcaster.js +2 -1
  163. package/subscriber/Broadcaster.js.map +1 -1
  164. package/subscriber/event/InsertEvent.d.ts +5 -0
  165. package/subscriber/event/InsertEvent.js.map +1 -1
  166. package/typeorm-model-shim.js +61 -53
@@ -1383,7 +1383,11 @@ class OracleQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
1383
1383
  table.columns = await Promise.all(dbColumns
1384
1384
  .filter((dbColumn) => dbColumn["OWNER"] === dbTable["OWNER"] &&
1385
1385
  dbColumn["TABLE_NAME"] ===
1386
- dbTable["TABLE_NAME"])
1386
+ dbTable["TABLE_NAME"] &&
1387
+ // Filter out auto-generated virtual columns,
1388
+ // since TypeORM will have no info about them.
1389
+ !(dbColumn["VIRTUAL_COLUMN"] === "YES" &&
1390
+ dbColumn["USER_GENERATED"] === "NO"))
1387
1391
  .map(async (dbColumn) => {
1388
1392
  const columnConstraints = dbConstraints.filter((dbConstraint) => dbConstraint["OWNER"] ===
1389
1393
  dbColumn["OWNER"] &&
@@ -1557,14 +1561,42 @@ class OracleQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
1557
1561
  onUpdate: "NO ACTION", // Oracle does not have onUpdate option in FK's, but we need it for proper synchronization
1558
1562
  });
1559
1563
  });
1564
+ // Attempt to map auto-generated virtual columns to their
1565
+ // referenced columns, through its 'DATA_DEFAULT' property.
1566
+ //
1567
+ // An example of this happening is when a column of type
1568
+ // TIMESTAMP WITH TIME ZONE is indexed. Oracle will create a
1569
+ // virtual column of type TIMESTAMP with a default value of
1570
+ // SYS_EXTRACT_UTC(<column>).
1571
+ const autoGenVirtualDbColumns = dbColumns
1572
+ .filter((dbColumn) => dbColumn["OWNER"] === dbTable["OWNER"] &&
1573
+ dbColumn["TABLE_NAME"] === dbTable["TABLE_NAME"] &&
1574
+ dbColumn["VIRTUAL_COLUMN"] === "YES" &&
1575
+ dbColumn["USER_GENERATED"] === "NO")
1576
+ .reduce((acc, x) => {
1577
+ const referencedDbColumn = dbColumns.find((dbColumn) => x["DATA_DEFAULT"].includes(dbColumn["COLUMN_NAME"]));
1578
+ if (!referencedDbColumn)
1579
+ return acc;
1580
+ return {
1581
+ ...acc,
1582
+ [x["COLUMN_NAME"]]: referencedDbColumn["COLUMN_NAME"],
1583
+ };
1584
+ }, {});
1560
1585
  // create TableIndex objects from the loaded indices
1561
1586
  table.indices = dbIndices
1562
1587
  .filter((dbIndex) => dbIndex["TABLE_NAME"] === dbTable["TABLE_NAME"] &&
1563
1588
  dbIndex["OWNER"] === dbTable["OWNER"])
1564
1589
  .map((dbIndex) => {
1590
+ //
1591
+ const columnNames = dbIndex["COLUMN_NAMES"]
1592
+ .split(",")
1593
+ .map((columnName) => {
1594
+ var _a;
1595
+ return (_a = autoGenVirtualDbColumns[columnName]) !== null && _a !== void 0 ? _a : columnName;
1596
+ });
1565
1597
  return new TableIndex_1.TableIndex({
1566
1598
  name: dbIndex["INDEX_NAME"],
1567
- columnNames: dbIndex["COLUMN_NAMES"].split(","),
1599
+ columnNames,
1568
1600
  isUnique: dbIndex["UNIQUENESS"] === "UNIQUE",
1569
1601
  });
1570
1602
  });