typeorm 0.2.41 → 0.2.42-dev.02400da

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 (338) hide show
  1. package/README.md +38 -0
  2. package/browser/cache/RedisQueryResultCache.js +40 -35
  3. package/browser/cache/RedisQueryResultCache.js.map +1 -1
  4. package/browser/common/RelationType.d.ts +14 -0
  5. package/browser/common/RelationType.js +3 -0
  6. package/browser/common/RelationType.js.map +1 -0
  7. package/browser/connection/BaseConnectionOptions.d.ts +5 -0
  8. package/browser/connection/BaseConnectionOptions.js.map +1 -1
  9. package/browser/connection/Connection.d.ts +7 -3
  10. package/browser/connection/Connection.js +47 -31
  11. package/browser/connection/Connection.js.map +1 -1
  12. package/browser/connection/ConnectionMetadataBuilder.d.ts +3 -3
  13. package/browser/connection/ConnectionMetadataBuilder.js +54 -22
  14. package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
  15. package/browser/connection/ConnectionOptionsReader.js +33 -28
  16. package/browser/connection/ConnectionOptionsReader.js.map +1 -1
  17. package/browser/connection/options-reader/ConnectionOptionsEnvReader.js +1 -0
  18. package/browser/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  19. package/browser/decorator/Unique.d.ts +5 -4
  20. package/browser/decorator/Unique.js +7 -3
  21. package/browser/decorator/Unique.js.map +1 -1
  22. package/browser/decorator/columns/PrimaryGeneratedColumn.d.ts +2 -1
  23. package/browser/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  24. package/browser/decorator/options/ColumnOptions.d.ts +4 -0
  25. package/browser/decorator/options/ColumnOptions.js.map +1 -1
  26. package/browser/decorator/options/PrimaryGeneratedColumnIdentityOptions.d.ts +22 -0
  27. package/browser/decorator/options/PrimaryGeneratedColumnIdentityOptions.js +3 -0
  28. package/browser/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -0
  29. package/browser/decorator/options/RelationOptions.d.ts +1 -1
  30. package/browser/decorator/options/RelationOptions.js.map +1 -1
  31. package/browser/decorator/options/UniqueOptions.d.ts +10 -0
  32. package/browser/decorator/options/UniqueOptions.js +3 -0
  33. package/browser/decorator/options/UniqueOptions.js.map +1 -0
  34. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js +1 -1
  35. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  36. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js +7 -5
  37. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  38. package/browser/driver/cockroachdb/CockroachQueryRunner.js +1 -1
  39. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  40. package/browser/driver/mongodb/MongoConnectionOptions.d.ts +1 -1
  41. package/browser/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  42. package/browser/driver/mysql/MysqlQueryRunner.js +1 -1
  43. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  44. package/browser/driver/oracle/OracleQueryRunner.js +1 -1
  45. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  46. package/browser/driver/postgres/PostgresQueryRunner.js +52 -19
  47. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  48. package/browser/driver/sap/SapQueryRunner.js +1 -1
  49. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  50. package/browser/driver/sqlite/SqliteDriver.js +11 -10
  51. package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
  52. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +1 -1
  53. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  54. package/browser/driver/sqlserver/SqlServerQueryRunner.js +1 -1
  55. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  56. package/browser/entity-manager/EntityManager.d.ts +2 -2
  57. package/browser/entity-manager/EntityManager.js +2 -12
  58. package/browser/entity-manager/EntityManager.js.map +1 -1
  59. package/browser/entity-manager/MongoEntityManager.js +2 -1
  60. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  61. package/browser/entity-schema/EntitySchemaOptions.d.ts +6 -0
  62. package/browser/entity-schema/EntitySchemaOptions.js.map +1 -1
  63. package/browser/entity-schema/EntitySchemaRelationOptions.d.ts +7 -1
  64. package/browser/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
  65. package/browser/entity-schema/EntitySchemaTransformer.js +4 -1
  66. package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
  67. package/browser/entity-schema/EntitySchemaUniqueOptions.d.ts +5 -0
  68. package/browser/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
  69. package/browser/find-options/FindOneOptions.d.ts +6 -0
  70. package/browser/find-options/FindOneOptions.js.map +1 -1
  71. package/browser/find-options/FindOptionsUtils.js +4 -0
  72. package/browser/find-options/FindOptionsUtils.js.map +1 -1
  73. package/browser/find-options/operator/Like.d.ts +1 -1
  74. package/browser/find-options/operator/Like.js +1 -1
  75. package/browser/find-options/operator/Like.js.map +1 -1
  76. package/browser/find-options/operator/Not.d.ts +1 -1
  77. package/browser/find-options/operator/Not.js +1 -1
  78. package/browser/find-options/operator/Not.js.map +1 -1
  79. package/browser/globals.js +34 -7
  80. package/browser/globals.js.map +1 -1
  81. package/browser/index.d.ts +2 -0
  82. package/browser/index.js +2 -0
  83. package/browser/index.js.map +1 -1
  84. package/browser/metadata/ColumnMetadata.d.ts +4 -0
  85. package/browser/metadata/ColumnMetadata.js +2 -0
  86. package/browser/metadata/ColumnMetadata.js.map +1 -1
  87. package/browser/metadata/RelationMetadata.d.ts +1 -1
  88. package/browser/metadata/RelationMetadata.js.map +1 -1
  89. package/browser/metadata/UniqueMetadata.d.ts +5 -0
  90. package/browser/metadata/UniqueMetadata.js +1 -0
  91. package/browser/metadata/UniqueMetadata.js.map +1 -1
  92. package/browser/metadata-args/UniqueMetadataArgs.d.ts +5 -0
  93. package/browser/metadata-args/UniqueMetadataArgs.js.map +1 -1
  94. package/browser/metadata-builder/EntityMetadataValidator.js +1 -0
  95. package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
  96. package/browser/migration/MigrationExecutor.js +1 -1
  97. package/browser/migration/MigrationExecutor.js.map +1 -1
  98. package/browser/persistence/subject-builder/OneToManySubjectBuilder.js +3 -0
  99. package/browser/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  100. package/browser/query-builder/DeleteQueryBuilder.d.ts +4 -2
  101. package/browser/query-builder/DeleteQueryBuilder.js +4 -2
  102. package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
  103. package/browser/query-builder/InsertQueryBuilder.d.ts +1 -1
  104. package/browser/query-builder/InsertQueryBuilder.js +1 -1
  105. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  106. package/browser/query-builder/NotBrackets.d.ts +7 -0
  107. package/browser/query-builder/NotBrackets.js +16 -0
  108. package/browser/query-builder/NotBrackets.js.map +1 -0
  109. package/browser/query-builder/QueryBuilder.d.ts +3 -2
  110. package/browser/query-builder/QueryBuilder.js +2 -1
  111. package/browser/query-builder/QueryBuilder.js.map +1 -1
  112. package/browser/query-builder/RelationLoader.js +11 -6
  113. package/browser/query-builder/RelationLoader.js.map +1 -1
  114. package/browser/query-builder/RelationQueryBuilder.d.ts +1 -1
  115. package/browser/query-builder/RelationQueryBuilder.js +1 -1
  116. package/browser/query-builder/RelationQueryBuilder.js.map +1 -1
  117. package/browser/query-builder/SelectQueryBuilder.d.ts +10 -1
  118. package/browser/query-builder/SelectQueryBuilder.js +28 -21
  119. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  120. package/browser/query-builder/SoftDeleteQueryBuilder.d.ts +1 -1
  121. package/browser/query-builder/SoftDeleteQueryBuilder.js +1 -1
  122. package/browser/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  123. package/browser/query-builder/UpdateQueryBuilder.d.ts +4 -2
  124. package/browser/query-builder/UpdateQueryBuilder.js +11 -6
  125. package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
  126. package/browser/query-builder/WhereExpressionBuilder.d.ts +3 -1
  127. package/browser/query-builder/WhereExpressionBuilder.js.map +1 -1
  128. package/browser/query-runner/BaseQueryRunner.d.ts +2 -2
  129. package/browser/query-runner/BaseQueryRunner.js +3 -3
  130. package/browser/query-runner/BaseQueryRunner.js.map +1 -1
  131. package/browser/repository/AbstractRepository.d.ts +2 -2
  132. package/browser/repository/AbstractRepository.js +2 -2
  133. package/browser/repository/AbstractRepository.js.map +1 -1
  134. package/browser/repository/BaseEntity.d.ts +1 -1
  135. package/browser/repository/BaseEntity.js +1 -1
  136. package/browser/repository/BaseEntity.js.map +1 -1
  137. package/browser/repository/Repository.d.ts +1 -1
  138. package/browser/repository/Repository.js +1 -1
  139. package/browser/repository/Repository.js.map +1 -1
  140. package/browser/repository/TreeRepository.js +1 -1
  141. package/browser/repository/TreeRepository.js.map +1 -1
  142. package/browser/schema-builder/RdbmsSchemaBuilder.js +1 -1
  143. package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  144. package/browser/schema-builder/options/TableColumnOptions.d.ts +4 -0
  145. package/browser/schema-builder/options/TableColumnOptions.js.map +1 -1
  146. package/browser/schema-builder/options/TableUniqueOptions.d.ts +5 -0
  147. package/browser/schema-builder/options/TableUniqueOptions.js.map +1 -1
  148. package/browser/schema-builder/table/TableColumn.d.ts +4 -0
  149. package/browser/schema-builder/table/TableColumn.js +2 -0
  150. package/browser/schema-builder/table/TableColumn.js.map +1 -1
  151. package/browser/schema-builder/table/TableUnique.d.ts +5 -0
  152. package/browser/schema-builder/table/TableUnique.js +5 -2
  153. package/browser/schema-builder/table/TableUnique.js.map +1 -1
  154. package/browser/schema-builder/util/TableUtils.js +1 -0
  155. package/browser/schema-builder/util/TableUtils.js.map +1 -1
  156. package/browser/util/DirectoryExportedClassesLoader.d.ts +1 -1
  157. package/browser/util/DirectoryExportedClassesLoader.js +55 -31
  158. package/browser/util/DirectoryExportedClassesLoader.js.map +1 -1
  159. package/browser/util/ImportUtils.d.ts +1 -0
  160. package/browser/util/ImportUtils.js +90 -0
  161. package/browser/util/ImportUtils.js.map +1 -0
  162. package/cache/RedisQueryResultCache.js +39 -34
  163. package/cache/RedisQueryResultCache.js.map +1 -1
  164. package/commands/CommandUtils.d.ts +4 -0
  165. package/commands/CommandUtils.js +10 -0
  166. package/commands/CommandUtils.js.map +1 -1
  167. package/commands/InitCommand.d.ts +9 -7
  168. package/commands/InitCommand.js +72 -43
  169. package/commands/InitCommand.js.map +1 -1
  170. package/commands/MigrationCreateCommand.d.ts +2 -0
  171. package/commands/MigrationCreateCommand.js +7 -1
  172. package/commands/MigrationCreateCommand.js.map +1 -1
  173. package/commands/MigrationGenerateCommand.d.ts +2 -0
  174. package/commands/MigrationGenerateCommand.js +7 -1
  175. package/commands/MigrationGenerateCommand.js.map +1 -1
  176. package/commands/QueryCommand.d.ts +1 -1
  177. package/commands/QueryCommand.js +1 -1
  178. package/commands/QueryCommand.js.map +1 -1
  179. package/common/RelationType.d.ts +14 -0
  180. package/common/RelationType.js +4 -0
  181. package/common/RelationType.js.map +1 -0
  182. package/connection/BaseConnectionOptions.d.ts +5 -0
  183. package/connection/BaseConnectionOptions.js.map +1 -1
  184. package/connection/Connection.d.ts +7 -3
  185. package/connection/Connection.js +47 -31
  186. package/connection/Connection.js.map +1 -1
  187. package/connection/ConnectionMetadataBuilder.d.ts +3 -3
  188. package/connection/ConnectionMetadataBuilder.js +53 -21
  189. package/connection/ConnectionMetadataBuilder.js.map +1 -1
  190. package/connection/ConnectionOptionsReader.js +32 -27
  191. package/connection/ConnectionOptionsReader.js.map +1 -1
  192. package/connection/options-reader/ConnectionOptionsEnvReader.js +1 -0
  193. package/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  194. package/decorator/Unique.d.ts +5 -4
  195. package/decorator/Unique.js +7 -3
  196. package/decorator/Unique.js.map +1 -1
  197. package/decorator/columns/PrimaryGeneratedColumn.d.ts +2 -1
  198. package/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  199. package/decorator/options/ColumnOptions.d.ts +4 -0
  200. package/decorator/options/ColumnOptions.js.map +1 -1
  201. package/decorator/options/PrimaryGeneratedColumnIdentityOptions.d.ts +22 -0
  202. package/decorator/options/PrimaryGeneratedColumnIdentityOptions.js +4 -0
  203. package/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -0
  204. package/decorator/options/RelationOptions.d.ts +1 -1
  205. package/decorator/options/RelationOptions.js.map +1 -1
  206. package/decorator/options/UniqueOptions.d.ts +10 -0
  207. package/decorator/options/UniqueOptions.js +4 -0
  208. package/decorator/options/UniqueOptions.js.map +1 -0
  209. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js +1 -1
  210. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  211. package/driver/better-sqlite3/BetterSqlite3Driver.js +7 -5
  212. package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  213. package/driver/cockroachdb/CockroachQueryRunner.js +1 -1
  214. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  215. package/driver/mongodb/MongoConnectionOptions.d.ts +1 -1
  216. package/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  217. package/driver/mysql/MysqlQueryRunner.js +1 -1
  218. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  219. package/driver/oracle/OracleQueryRunner.js +1 -1
  220. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  221. package/driver/postgres/PostgresQueryRunner.js +52 -19
  222. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  223. package/driver/sap/SapQueryRunner.js +1 -1
  224. package/driver/sap/SapQueryRunner.js.map +1 -1
  225. package/driver/sqlite/SqliteDriver.js +11 -10
  226. package/driver/sqlite/SqliteDriver.js.map +1 -1
  227. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +1 -1
  228. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  229. package/driver/sqlserver/SqlServerQueryRunner.js +1 -1
  230. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  231. package/entity-manager/EntityManager.d.ts +2 -2
  232. package/entity-manager/EntityManager.js +2 -12
  233. package/entity-manager/EntityManager.js.map +1 -1
  234. package/entity-manager/MongoEntityManager.js +2 -1
  235. package/entity-manager/MongoEntityManager.js.map +1 -1
  236. package/entity-schema/EntitySchemaOptions.d.ts +6 -0
  237. package/entity-schema/EntitySchemaOptions.js.map +1 -1
  238. package/entity-schema/EntitySchemaRelationOptions.d.ts +7 -1
  239. package/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
  240. package/entity-schema/EntitySchemaTransformer.js +4 -1
  241. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  242. package/entity-schema/EntitySchemaUniqueOptions.d.ts +5 -0
  243. package/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
  244. package/find-options/FindOneOptions.d.ts +6 -0
  245. package/find-options/FindOneOptions.js.map +1 -1
  246. package/find-options/FindOptionsUtils.js +4 -0
  247. package/find-options/FindOptionsUtils.js.map +1 -1
  248. package/find-options/operator/Like.d.ts +1 -1
  249. package/find-options/operator/Like.js +1 -1
  250. package/find-options/operator/Like.js.map +1 -1
  251. package/find-options/operator/Not.d.ts +1 -1
  252. package/find-options/operator/Not.js +1 -1
  253. package/find-options/operator/Not.js.map +1 -1
  254. package/globals.js +33 -6
  255. package/globals.js.map +1 -1
  256. package/index.d.ts +2 -0
  257. package/index.js +4 -1
  258. package/index.js.map +1 -1
  259. package/index.mjs +352 -0
  260. package/metadata/ColumnMetadata.d.ts +4 -0
  261. package/metadata/ColumnMetadata.js +2 -0
  262. package/metadata/ColumnMetadata.js.map +1 -1
  263. package/metadata/RelationMetadata.d.ts +1 -1
  264. package/metadata/RelationMetadata.js.map +1 -1
  265. package/metadata/UniqueMetadata.d.ts +5 -0
  266. package/metadata/UniqueMetadata.js +1 -0
  267. package/metadata/UniqueMetadata.js.map +1 -1
  268. package/metadata-args/UniqueMetadataArgs.d.ts +5 -0
  269. package/metadata-args/UniqueMetadataArgs.js.map +1 -1
  270. package/metadata-builder/EntityMetadataValidator.js +1 -0
  271. package/metadata-builder/EntityMetadataValidator.js.map +1 -1
  272. package/migration/MigrationExecutor.js +1 -1
  273. package/migration/MigrationExecutor.js.map +1 -1
  274. package/package.json +1 -239
  275. package/persistence/subject-builder/OneToManySubjectBuilder.js +3 -0
  276. package/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  277. package/query-builder/DeleteQueryBuilder.d.ts +4 -2
  278. package/query-builder/DeleteQueryBuilder.js +4 -2
  279. package/query-builder/DeleteQueryBuilder.js.map +1 -1
  280. package/query-builder/InsertQueryBuilder.d.ts +1 -1
  281. package/query-builder/InsertQueryBuilder.js +1 -1
  282. package/query-builder/InsertQueryBuilder.js.map +1 -1
  283. package/query-builder/NotBrackets.d.ts +7 -0
  284. package/query-builder/NotBrackets.js +19 -0
  285. package/query-builder/NotBrackets.js.map +1 -0
  286. package/query-builder/QueryBuilder.d.ts +3 -2
  287. package/query-builder/QueryBuilder.js +2 -1
  288. package/query-builder/QueryBuilder.js.map +1 -1
  289. package/query-builder/RelationLoader.js +11 -6
  290. package/query-builder/RelationLoader.js.map +1 -1
  291. package/query-builder/RelationQueryBuilder.d.ts +1 -1
  292. package/query-builder/RelationQueryBuilder.js +1 -1
  293. package/query-builder/RelationQueryBuilder.js.map +1 -1
  294. package/query-builder/SelectQueryBuilder.d.ts +10 -1
  295. package/query-builder/SelectQueryBuilder.js +28 -21
  296. package/query-builder/SelectQueryBuilder.js.map +1 -1
  297. package/query-builder/SoftDeleteQueryBuilder.d.ts +1 -1
  298. package/query-builder/SoftDeleteQueryBuilder.js +1 -1
  299. package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  300. package/query-builder/UpdateQueryBuilder.d.ts +4 -2
  301. package/query-builder/UpdateQueryBuilder.js +11 -6
  302. package/query-builder/UpdateQueryBuilder.js.map +1 -1
  303. package/query-builder/WhereExpressionBuilder.d.ts +3 -1
  304. package/query-builder/WhereExpressionBuilder.js.map +1 -1
  305. package/query-runner/BaseQueryRunner.d.ts +2 -2
  306. package/query-runner/BaseQueryRunner.js +3 -3
  307. package/query-runner/BaseQueryRunner.js.map +1 -1
  308. package/repository/AbstractRepository.d.ts +2 -2
  309. package/repository/AbstractRepository.js +2 -2
  310. package/repository/AbstractRepository.js.map +1 -1
  311. package/repository/BaseEntity.d.ts +1 -1
  312. package/repository/BaseEntity.js +1 -1
  313. package/repository/BaseEntity.js.map +1 -1
  314. package/repository/Repository.d.ts +1 -1
  315. package/repository/Repository.js +1 -1
  316. package/repository/Repository.js.map +1 -1
  317. package/repository/TreeRepository.js +1 -1
  318. package/repository/TreeRepository.js.map +1 -1
  319. package/schema-builder/RdbmsSchemaBuilder.js +1 -1
  320. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  321. package/schema-builder/options/TableColumnOptions.d.ts +4 -0
  322. package/schema-builder/options/TableColumnOptions.js.map +1 -1
  323. package/schema-builder/options/TableUniqueOptions.d.ts +5 -0
  324. package/schema-builder/options/TableUniqueOptions.js.map +1 -1
  325. package/schema-builder/table/TableColumn.d.ts +4 -0
  326. package/schema-builder/table/TableColumn.js +2 -0
  327. package/schema-builder/table/TableColumn.js.map +1 -1
  328. package/schema-builder/table/TableUnique.d.ts +5 -0
  329. package/schema-builder/table/TableUnique.js +5 -2
  330. package/schema-builder/table/TableUnique.js.map +1 -1
  331. package/schema-builder/util/TableUtils.js +1 -0
  332. package/schema-builder/util/TableUtils.js.map +1 -1
  333. package/util/DirectoryExportedClassesLoader.d.ts +1 -1
  334. package/util/DirectoryExportedClassesLoader.js +54 -31
  335. package/util/DirectoryExportedClassesLoader.js.map +1 -1
  336. package/util/ImportUtils.d.ts +1 -0
  337. package/util/ImportUtils.js +94 -0
  338. package/util/ImportUtils.js.map +1 -0
@@ -1269,20 +1269,43 @@ var PostgresQueryRunner = /** @class */ (function (_super) {
1269
1269
  downQueries.push(new Query_1.Query("ALTER TABLE " + this.escapePath(table) + " ADD CONSTRAINT \"" + uniqueConstraint.name + "\" UNIQUE (\"" + newColumn.name + "\")"));
1270
1270
  }
1271
1271
  }
1272
- if (oldColumn.isGenerated !== newColumn.isGenerated &&
1273
- newColumn.generationStrategy !== "uuid" &&
1274
- newColumn.generationStrategy !== "identity") {
1275
- if (newColumn.isGenerated === true) {
1276
- upQueries.push(new Query_1.Query("CREATE SEQUENCE IF NOT EXISTS " + this.escapePath(this.buildSequencePath(table, newColumn)) + " OWNED BY " + this.escapePath(table) + ".\"" + newColumn.name + "\""));
1277
- downQueries.push(new Query_1.Query("DROP SEQUENCE " + this.escapePath(this.buildSequencePath(table, newColumn))));
1278
- upQueries.push(new Query_1.Query("ALTER TABLE " + this.escapePath(table) + " ALTER COLUMN \"" + newColumn.name + "\" SET DEFAULT nextval('" + this.escapePath(this.buildSequencePath(table, newColumn)) + "')"));
1279
- downQueries.push(new Query_1.Query("ALTER TABLE " + this.escapePath(table) + " ALTER COLUMN \"" + newColumn.name + "\" DROP DEFAULT"));
1272
+ if (oldColumn.isGenerated !== newColumn.isGenerated) {
1273
+ // if old column was "generated", we should clear defaults
1274
+ if (oldColumn.isGenerated) {
1275
+ if (oldColumn.generationStrategy === "uuid") {
1276
+ upQueries.push(new Query_1.Query("ALTER TABLE " + this.escapePath(table) + " ALTER COLUMN \"" + oldColumn.name + "\" DROP DEFAULT"));
1277
+ downQueries.push(new Query_1.Query("ALTER TABLE " + this.escapePath(table) + " ALTER COLUMN \"" + oldColumn.name + "\" SET DEFAULT " + this.driver.uuidGenerator));
1278
+ }
1279
+ else if (oldColumn.generationStrategy === "increment") {
1280
+ upQueries.push(new Query_1.Query("ALTER TABLE " + this.escapePath(table) + " ALTER COLUMN \"" + newColumn.name + "\" DROP DEFAULT"));
1281
+ downQueries.push(new Query_1.Query("ALTER TABLE " + this.escapePath(table) + " ALTER COLUMN \"" + newColumn.name + "\" SET DEFAULT nextval('" + this.escapePath(this.buildSequencePath(table, newColumn)) + "')"));
1282
+ upQueries.push(new Query_1.Query("DROP SEQUENCE " + this.escapePath(this.buildSequencePath(table, newColumn))));
1283
+ downQueries.push(new Query_1.Query("CREATE SEQUENCE IF NOT EXISTS " + this.escapePath(this.buildSequencePath(table, newColumn)) + " OWNED BY " + this.escapePath(table) + ".\"" + newColumn.name + "\""));
1284
+ }
1280
1285
  }
1281
- else {
1282
- upQueries.push(new Query_1.Query("ALTER TABLE " + this.escapePath(table) + " ALTER COLUMN \"" + newColumn.name + "\" DROP DEFAULT"));
1283
- downQueries.push(new Query_1.Query("ALTER TABLE " + this.escapePath(table) + " ALTER COLUMN \"" + newColumn.name + "\" SET DEFAULT nextval('" + this.escapePath(this.buildSequencePath(table, newColumn)) + "')"));
1284
- upQueries.push(new Query_1.Query("DROP SEQUENCE " + this.escapePath(this.buildSequencePath(table, newColumn))));
1285
- downQueries.push(new Query_1.Query("CREATE SEQUENCE IF NOT EXISTS " + this.escapePath(this.buildSequencePath(table, newColumn)) + " OWNED BY " + this.escapePath(table) + ".\"" + newColumn.name + "\""));
1286
+ if (newColumn.generationStrategy === "uuid") {
1287
+ if (newColumn.isGenerated === true) {
1288
+ upQueries.push(new Query_1.Query("ALTER TABLE " + this.escapePath(table) + " ALTER COLUMN \"" + newColumn.name + "\" SET DEFAULT " + this.driver.uuidGenerator));
1289
+ downQueries.push(new Query_1.Query("ALTER TABLE " + this.escapePath(table) + " ALTER COLUMN \"" + newColumn.name + "\" DROP DEFAULT"));
1290
+ }
1291
+ else {
1292
+ upQueries.push(new Query_1.Query("ALTER TABLE " + this.escapePath(table) + " ALTER COLUMN \"" + newColumn.name + "\" DROP DEFAULT"));
1293
+ downQueries.push(new Query_1.Query("ALTER TABLE " + this.escapePath(table) + " ALTER COLUMN \"" + newColumn.name + "\" SET DEFAULT " + this.driver.uuidGenerator));
1294
+ }
1295
+ }
1296
+ else if (newColumn.generationStrategy === "increment") {
1297
+ if (newColumn.isGenerated === true) {
1298
+ upQueries.push(new Query_1.Query("CREATE SEQUENCE IF NOT EXISTS " + this.escapePath(this.buildSequencePath(table, newColumn)) + " OWNED BY " + this.escapePath(table) + ".\"" + newColumn.name + "\""));
1299
+ downQueries.push(new Query_1.Query("DROP SEQUENCE " + this.escapePath(this.buildSequencePath(table, newColumn))));
1300
+ upQueries.push(new Query_1.Query("ALTER TABLE " + this.escapePath(table) + " ALTER COLUMN \"" + newColumn.name + "\" SET DEFAULT nextval('" + this.escapePath(this.buildSequencePath(table, newColumn)) + "')"));
1301
+ downQueries.push(new Query_1.Query("ALTER TABLE " + this.escapePath(table) + " ALTER COLUMN \"" + newColumn.name + "\" DROP DEFAULT"));
1302
+ }
1303
+ else {
1304
+ upQueries.push(new Query_1.Query("ALTER TABLE " + this.escapePath(table) + " ALTER COLUMN \"" + newColumn.name + "\" DROP DEFAULT"));
1305
+ downQueries.push(new Query_1.Query("ALTER TABLE " + this.escapePath(table) + " ALTER COLUMN \"" + newColumn.name + "\" SET DEFAULT nextval('" + this.escapePath(this.buildSequencePath(table, newColumn)) + "')"));
1306
+ upQueries.push(new Query_1.Query("DROP SEQUENCE " + this.escapePath(this.buildSequencePath(table, newColumn))));
1307
+ downQueries.push(new Query_1.Query("CREATE SEQUENCE IF NOT EXISTS " + this.escapePath(this.buildSequencePath(table, newColumn)) + " OWNED BY " + this.escapePath(table) + ".\"" + newColumn.name + "\""));
1308
+ }
1286
1309
  }
1287
1310
  }
1288
1311
  // the default might have changed when the enum changed
@@ -2227,7 +2250,7 @@ var PostgresQueryRunner = /** @class */ (function (_super) {
2227
2250
  table = _a;
2228
2251
  index = indexOrName instanceof TableIndex_1.TableIndex ? indexOrName : table.indices.find(function (i) { return i.name === indexOrName; });
2229
2252
  if (!index)
2230
- throw new error_1.TypeORMError("Supplied index was not found in table " + table.name);
2253
+ throw new error_1.TypeORMError("Supplied index " + indexOrName + " was not found in table " + table.name);
2231
2254
  up = this.dropIndexSql(table, index);
2232
2255
  down = this.createIndexSql(table, index);
2233
2256
  return [4 /*yield*/, this.executeQueries(up, down)];
@@ -2687,6 +2710,7 @@ var PostgresQueryRunner = /** @class */ (function (_super) {
2687
2710
  if (dbColumn.is_identity === "YES") { // Postgres 10+ Identity column
2688
2711
  tableColumn.isGenerated = true;
2689
2712
  tableColumn.generationStrategy = "identity";
2713
+ tableColumn.generatedIdentity = dbColumn.identity_generation;
2690
2714
  }
2691
2715
  else if (dbColumn["column_default"] !== null && dbColumn["column_default"] !== undefined) {
2692
2716
  serialDefaultName = "nextval('" + this.buildSequenceName(table, dbColumn["column_name"]) + "'::regclass)";
@@ -2711,7 +2735,7 @@ var PostgresQueryRunner = /** @class */ (function (_super) {
2711
2735
  if (!(dbColumn["is_generated"] === "ALWAYS" && dbColumn["generation_expression"])) return [3 /*break*/, 9];
2712
2736
  // In postgres there is no VIRTUAL generated column type
2713
2737
  tableColumn.generatedType = "STORED";
2714
- asExpressionQuery = "SELECT * FROM \"typeorm_metadata\" "
2738
+ asExpressionQuery = "SELECT * FROM \"" + this.connection.metadataTableName + "\" "
2715
2739
  + (" WHERE \"table\" = '" + dbTable["table_name"] + "'")
2716
2740
  + (" AND \"name\" = '" + tableColumn.name + "'")
2717
2741
  + (" AND \"schema\" = '" + dbTable["table_schema"] + "'")
@@ -2749,7 +2773,8 @@ var PostgresQueryRunner = /** @class */ (function (_super) {
2749
2773
  var uniques = dbConstraints.filter(function (dbC) { return dbC["constraint_name"] === constraint["constraint_name"]; });
2750
2774
  return new TableUnique_1.TableUnique({
2751
2775
  name: constraint["constraint_name"],
2752
- columnNames: uniques.map(function (u) { return u["column_name"]; })
2776
+ columnNames: uniques.map(function (u) { return u["column_name"]; }),
2777
+ deferrable: constraint["deferrable"] ? constraint["deferred"] : undefined,
2753
2778
  });
2754
2779
  });
2755
2780
  tableCheckConstraints = OrmUtils_1.OrmUtils.uniq(dbConstraints.filter(function (dbConstraint) {
@@ -2788,6 +2813,7 @@ var PostgresQueryRunner = /** @class */ (function (_super) {
2788
2813
  return new TableForeignKey_1.TableForeignKey({
2789
2814
  name: dbForeignKey["constraint_name"],
2790
2815
  columnNames: foreignKeys.map(function (dbFk) { return dbFk["column_name"]; }),
2816
+ referencedSchema: dbForeignKey["referenced_table_schema"],
2791
2817
  referencedTableName: referencedTableName,
2792
2818
  referencedColumnNames: foreignKeys.map(function (dbFk) { return dbFk["referenced_column_name"]; }),
2793
2819
  onDelete: dbForeignKey["on_delete"],
@@ -2844,7 +2870,10 @@ var PostgresQueryRunner = /** @class */ (function (_super) {
2844
2870
  var uniquesSql = table.uniques.map(function (unique) {
2845
2871
  var uniqueName = unique.name ? unique.name : _this.connection.namingStrategy.uniqueConstraintName(table, unique.columnNames);
2846
2872
  var columnNames = unique.columnNames.map(function (columnName) { return "\"" + columnName + "\""; }).join(", ");
2847
- return "CONSTRAINT \"" + uniqueName + "\" UNIQUE (" + columnNames + ")";
2873
+ var constraint = "CONSTRAINT \"" + uniqueName + "\" UNIQUE (" + columnNames + ")";
2874
+ if (unique.deferrable)
2875
+ constraint += " DEFERRABLE " + unique.deferrable;
2876
+ return constraint;
2848
2877
  }).join(", ");
2849
2878
  sql += ", " + uniquesSql;
2850
2879
  }
@@ -3076,7 +3105,10 @@ var PostgresQueryRunner = /** @class */ (function (_super) {
3076
3105
  */
3077
3106
  PostgresQueryRunner.prototype.createUniqueConstraintSql = function (table, uniqueConstraint) {
3078
3107
  var columnNames = uniqueConstraint.columnNames.map(function (column) { return "\"" + column + "\""; }).join(", ");
3079
- return new Query_1.Query("ALTER TABLE " + this.escapePath(table) + " ADD CONSTRAINT \"" + uniqueConstraint.name + "\" UNIQUE (" + columnNames + ")");
3108
+ var sql = "ALTER TABLE " + this.escapePath(table) + " ADD CONSTRAINT \"" + uniqueConstraint.name + "\" UNIQUE (" + columnNames + ")";
3109
+ if (uniqueConstraint.deferrable)
3110
+ sql += " DEFERRABLE " + uniqueConstraint.deferrable;
3111
+ return new Query_1.Query(sql);
3080
3112
  };
3081
3113
  /**
3082
3114
  * Builds drop unique constraint sql.
@@ -3245,7 +3277,8 @@ var PostgresQueryRunner = /** @class */ (function (_super) {
3245
3277
  var c = "\"" + column.name + "\"";
3246
3278
  if (column.isGenerated === true && column.generationStrategy !== "uuid") {
3247
3279
  if (column.generationStrategy === "identity") { // Postgres 10+ Identity generated column
3248
- c += " " + column.type + " GENERATED BY DEFAULT AS IDENTITY";
3280
+ var generatedIdentityOrDefault = column.generatedIdentity || "BY DEFAULT";
3281
+ c += " " + column.type + " GENERATED " + generatedIdentityOrDefault + " AS IDENTITY";
3249
3282
  }
3250
3283
  else { // classic SERIAL primary column
3251
3284
  if (column.type === "integer" || column.type === "int" || column.type === "int4")