typeorm 0.2.42-dev.90a8deb → 0.2.42-dev.baa5880

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 (261) hide show
  1. package/README.md +38 -0
  2. package/browser/common/RelationType.d.ts +14 -0
  3. package/browser/common/RelationType.js +3 -0
  4. package/browser/common/RelationType.js.map +1 -0
  5. package/browser/connection/BaseConnectionOptions.d.ts +5 -0
  6. package/browser/connection/BaseConnectionOptions.js.map +1 -1
  7. package/browser/connection/Connection.d.ts +5 -1
  8. package/browser/connection/Connection.js +46 -30
  9. package/browser/connection/Connection.js.map +1 -1
  10. package/browser/connection/ConnectionMetadataBuilder.d.ts +3 -3
  11. package/browser/connection/ConnectionMetadataBuilder.js +54 -22
  12. package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
  13. package/browser/connection/ConnectionOptionsReader.js +33 -28
  14. package/browser/connection/ConnectionOptionsReader.js.map +1 -1
  15. package/browser/connection/options-reader/ConnectionOptionsEnvReader.js +1 -0
  16. package/browser/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  17. package/browser/decorator/Unique.d.ts +5 -4
  18. package/browser/decorator/Unique.js +7 -3
  19. package/browser/decorator/Unique.js.map +1 -1
  20. package/browser/decorator/options/RelationOptions.d.ts +1 -1
  21. package/browser/decorator/options/RelationOptions.js.map +1 -1
  22. package/browser/decorator/options/UniqueOptions.d.ts +10 -0
  23. package/browser/decorator/options/UniqueOptions.js +3 -0
  24. package/browser/decorator/options/UniqueOptions.js.map +1 -0
  25. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js +2 -2
  26. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  27. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js +7 -5
  28. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  29. package/browser/driver/cockroachdb/CockroachQueryRunner.js +1 -1
  30. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  31. package/browser/driver/mongodb/MongoConnectionOptions.d.ts +1 -1
  32. package/browser/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  33. package/browser/driver/mysql/MysqlQueryRunner.js +1 -1
  34. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  35. package/browser/driver/oracle/OracleQueryRunner.js +1 -1
  36. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  37. package/browser/driver/postgres/PostgresQueryRunner.js +49 -18
  38. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  39. package/browser/driver/sap/SapQueryRunner.js +1 -1
  40. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  41. package/browser/driver/sqlite/SqliteDriver.js +11 -10
  42. package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
  43. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +1 -1
  44. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  45. package/browser/entity-manager/EntityManager.js +1 -11
  46. package/browser/entity-manager/EntityManager.js.map +1 -1
  47. package/browser/entity-manager/MongoEntityManager.js +2 -1
  48. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  49. package/browser/entity-schema/EntitySchemaRelationOptions.d.ts +7 -1
  50. package/browser/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
  51. package/browser/entity-schema/EntitySchemaTransformer.js +3 -1
  52. package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
  53. package/browser/entity-schema/EntitySchemaUniqueOptions.d.ts +5 -0
  54. package/browser/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
  55. package/browser/find-options/FindOneOptions.d.ts +6 -0
  56. package/browser/find-options/FindOneOptions.js.map +1 -1
  57. package/browser/find-options/FindOptionsUtils.js +4 -0
  58. package/browser/find-options/FindOptionsUtils.js.map +1 -1
  59. package/browser/find-options/operator/Like.d.ts +1 -1
  60. package/browser/find-options/operator/Like.js +1 -1
  61. package/browser/find-options/operator/Like.js.map +1 -1
  62. package/browser/find-options/operator/Not.d.ts +1 -1
  63. package/browser/find-options/operator/Not.js +1 -1
  64. package/browser/find-options/operator/Not.js.map +1 -1
  65. package/browser/globals.js +34 -7
  66. package/browser/globals.js.map +1 -1
  67. package/browser/index.d.ts +2 -0
  68. package/browser/index.js +2 -0
  69. package/browser/index.js.map +1 -1
  70. package/browser/metadata/RelationMetadata.d.ts +1 -1
  71. package/browser/metadata/RelationMetadata.js.map +1 -1
  72. package/browser/metadata/UniqueMetadata.d.ts +5 -0
  73. package/browser/metadata/UniqueMetadata.js +1 -0
  74. package/browser/metadata/UniqueMetadata.js.map +1 -1
  75. package/browser/metadata-args/UniqueMetadataArgs.d.ts +5 -0
  76. package/browser/metadata-args/UniqueMetadataArgs.js.map +1 -1
  77. package/browser/metadata-builder/EntityMetadataValidator.js +1 -0
  78. package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
  79. package/browser/migration/MigrationExecutor.js +1 -1
  80. package/browser/migration/MigrationExecutor.js.map +1 -1
  81. package/browser/persistence/subject-builder/OneToManySubjectBuilder.js +3 -0
  82. package/browser/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  83. package/browser/query-builder/DeleteQueryBuilder.d.ts +3 -1
  84. package/browser/query-builder/DeleteQueryBuilder.js +3 -1
  85. package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
  86. package/browser/query-builder/InsertQueryBuilder.js +2 -2
  87. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  88. package/browser/query-builder/NotBrackets.d.ts +7 -0
  89. package/browser/query-builder/NotBrackets.js +16 -0
  90. package/browser/query-builder/NotBrackets.js.map +1 -0
  91. package/browser/query-builder/QueryBuilder.d.ts +2 -1
  92. package/browser/query-builder/QueryBuilder.js +2 -1
  93. package/browser/query-builder/QueryBuilder.js.map +1 -1
  94. package/browser/query-builder/RelationLoader.js +11 -6
  95. package/browser/query-builder/RelationLoader.js.map +1 -1
  96. package/browser/query-builder/SelectQueryBuilder.d.ts +9 -0
  97. package/browser/query-builder/SelectQueryBuilder.js +27 -20
  98. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  99. package/browser/query-builder/UpdateQueryBuilder.d.ts +3 -1
  100. package/browser/query-builder/UpdateQueryBuilder.js +10 -5
  101. package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
  102. package/browser/query-builder/WhereExpressionBuilder.d.ts +3 -1
  103. package/browser/query-builder/WhereExpressionBuilder.js.map +1 -1
  104. package/browser/query-runner/BaseQueryRunner.d.ts +2 -2
  105. package/browser/query-runner/BaseQueryRunner.js +3 -3
  106. package/browser/query-runner/BaseQueryRunner.js.map +1 -1
  107. package/browser/repository/TreeRepository.js +1 -1
  108. package/browser/repository/TreeRepository.js.map +1 -1
  109. package/browser/schema-builder/RdbmsSchemaBuilder.js +1 -1
  110. package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  111. package/browser/schema-builder/options/TableUniqueOptions.d.ts +5 -0
  112. package/browser/schema-builder/options/TableUniqueOptions.js.map +1 -1
  113. package/browser/schema-builder/table/TableUnique.d.ts +5 -0
  114. package/browser/schema-builder/table/TableUnique.js +5 -2
  115. package/browser/schema-builder/table/TableUnique.js.map +1 -1
  116. package/browser/util/DirectoryExportedClassesLoader.d.ts +1 -1
  117. package/browser/util/DirectoryExportedClassesLoader.js +55 -31
  118. package/browser/util/DirectoryExportedClassesLoader.js.map +1 -1
  119. package/browser/util/ImportUtils.d.ts +1 -0
  120. package/browser/util/ImportUtils.js +90 -0
  121. package/browser/util/ImportUtils.js.map +1 -0
  122. package/browser/util/RandomGenerator.d.ts +0 -4
  123. package/browser/util/RandomGenerator.js +0 -9
  124. package/browser/util/RandomGenerator.js.map +1 -1
  125. package/commands/CommandUtils.d.ts +4 -0
  126. package/commands/CommandUtils.js +10 -0
  127. package/commands/CommandUtils.js.map +1 -1
  128. package/commands/InitCommand.d.ts +9 -7
  129. package/commands/InitCommand.js +72 -43
  130. package/commands/InitCommand.js.map +1 -1
  131. package/commands/MigrationCreateCommand.d.ts +2 -0
  132. package/commands/MigrationCreateCommand.js +7 -1
  133. package/commands/MigrationCreateCommand.js.map +1 -1
  134. package/commands/MigrationGenerateCommand.d.ts +2 -0
  135. package/commands/MigrationGenerateCommand.js +7 -1
  136. package/commands/MigrationGenerateCommand.js.map +1 -1
  137. package/common/RelationType.d.ts +14 -0
  138. package/common/RelationType.js +4 -0
  139. package/common/RelationType.js.map +1 -0
  140. package/connection/BaseConnectionOptions.d.ts +5 -0
  141. package/connection/BaseConnectionOptions.js.map +1 -1
  142. package/connection/Connection.d.ts +5 -1
  143. package/connection/Connection.js +46 -30
  144. package/connection/Connection.js.map +1 -1
  145. package/connection/ConnectionMetadataBuilder.d.ts +3 -3
  146. package/connection/ConnectionMetadataBuilder.js +53 -21
  147. package/connection/ConnectionMetadataBuilder.js.map +1 -1
  148. package/connection/ConnectionOptionsReader.js +32 -27
  149. package/connection/ConnectionOptionsReader.js.map +1 -1
  150. package/connection/options-reader/ConnectionOptionsEnvReader.js +1 -0
  151. package/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  152. package/decorator/Unique.d.ts +5 -4
  153. package/decorator/Unique.js +7 -3
  154. package/decorator/Unique.js.map +1 -1
  155. package/decorator/options/RelationOptions.d.ts +1 -1
  156. package/decorator/options/RelationOptions.js.map +1 -1
  157. package/decorator/options/UniqueOptions.d.ts +10 -0
  158. package/decorator/options/UniqueOptions.js +4 -0
  159. package/decorator/options/UniqueOptions.js.map +1 -0
  160. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js +2 -2
  161. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  162. package/driver/better-sqlite3/BetterSqlite3Driver.js +7 -5
  163. package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  164. package/driver/cockroachdb/CockroachQueryRunner.js +1 -1
  165. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  166. package/driver/mongodb/MongoConnectionOptions.d.ts +1 -1
  167. package/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  168. package/driver/mysql/MysqlQueryRunner.js +1 -1
  169. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  170. package/driver/oracle/OracleQueryRunner.js +1 -1
  171. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  172. package/driver/postgres/PostgresQueryRunner.js +49 -18
  173. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  174. package/driver/sap/SapQueryRunner.js +1 -1
  175. package/driver/sap/SapQueryRunner.js.map +1 -1
  176. package/driver/sqlite/SqliteDriver.js +11 -10
  177. package/driver/sqlite/SqliteDriver.js.map +1 -1
  178. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +1 -1
  179. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  180. package/entity-manager/EntityManager.js +1 -11
  181. package/entity-manager/EntityManager.js.map +1 -1
  182. package/entity-manager/MongoEntityManager.js +2 -1
  183. package/entity-manager/MongoEntityManager.js.map +1 -1
  184. package/entity-schema/EntitySchemaRelationOptions.d.ts +7 -1
  185. package/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
  186. package/entity-schema/EntitySchemaTransformer.js +3 -1
  187. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  188. package/entity-schema/EntitySchemaUniqueOptions.d.ts +5 -0
  189. package/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
  190. package/find-options/FindOneOptions.d.ts +6 -0
  191. package/find-options/FindOneOptions.js.map +1 -1
  192. package/find-options/FindOptionsUtils.js +4 -0
  193. package/find-options/FindOptionsUtils.js.map +1 -1
  194. package/find-options/operator/Like.d.ts +1 -1
  195. package/find-options/operator/Like.js +1 -1
  196. package/find-options/operator/Like.js.map +1 -1
  197. package/find-options/operator/Not.d.ts +1 -1
  198. package/find-options/operator/Not.js +1 -1
  199. package/find-options/operator/Not.js.map +1 -1
  200. package/globals.js +33 -6
  201. package/globals.js.map +1 -1
  202. package/index.d.ts +2 -0
  203. package/index.js +4 -1
  204. package/index.js.map +1 -1
  205. package/index.mjs +352 -0
  206. package/metadata/RelationMetadata.d.ts +1 -1
  207. package/metadata/RelationMetadata.js.map +1 -1
  208. package/metadata/UniqueMetadata.d.ts +5 -0
  209. package/metadata/UniqueMetadata.js +1 -0
  210. package/metadata/UniqueMetadata.js.map +1 -1
  211. package/metadata-args/UniqueMetadataArgs.d.ts +5 -0
  212. package/metadata-args/UniqueMetadataArgs.js.map +1 -1
  213. package/metadata-builder/EntityMetadataValidator.js +1 -0
  214. package/metadata-builder/EntityMetadataValidator.js.map +1 -1
  215. package/migration/MigrationExecutor.js +1 -1
  216. package/migration/MigrationExecutor.js.map +1 -1
  217. package/package.json +1 -1
  218. package/persistence/subject-builder/OneToManySubjectBuilder.js +3 -0
  219. package/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  220. package/query-builder/DeleteQueryBuilder.d.ts +3 -1
  221. package/query-builder/DeleteQueryBuilder.js +3 -1
  222. package/query-builder/DeleteQueryBuilder.js.map +1 -1
  223. package/query-builder/InsertQueryBuilder.js +2 -2
  224. package/query-builder/InsertQueryBuilder.js.map +1 -1
  225. package/query-builder/NotBrackets.d.ts +7 -0
  226. package/query-builder/NotBrackets.js +19 -0
  227. package/query-builder/NotBrackets.js.map +1 -0
  228. package/query-builder/QueryBuilder.d.ts +2 -1
  229. package/query-builder/QueryBuilder.js +2 -1
  230. package/query-builder/QueryBuilder.js.map +1 -1
  231. package/query-builder/RelationLoader.js +11 -6
  232. package/query-builder/RelationLoader.js.map +1 -1
  233. package/query-builder/SelectQueryBuilder.d.ts +9 -0
  234. package/query-builder/SelectQueryBuilder.js +27 -20
  235. package/query-builder/SelectQueryBuilder.js.map +1 -1
  236. package/query-builder/UpdateQueryBuilder.d.ts +3 -1
  237. package/query-builder/UpdateQueryBuilder.js +10 -5
  238. package/query-builder/UpdateQueryBuilder.js.map +1 -1
  239. package/query-builder/WhereExpressionBuilder.d.ts +3 -1
  240. package/query-builder/WhereExpressionBuilder.js.map +1 -1
  241. package/query-runner/BaseQueryRunner.d.ts +2 -2
  242. package/query-runner/BaseQueryRunner.js +3 -3
  243. package/query-runner/BaseQueryRunner.js.map +1 -1
  244. package/repository/TreeRepository.js +1 -1
  245. package/repository/TreeRepository.js.map +1 -1
  246. package/schema-builder/RdbmsSchemaBuilder.js +1 -1
  247. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  248. package/schema-builder/options/TableUniqueOptions.d.ts +5 -0
  249. package/schema-builder/options/TableUniqueOptions.js.map +1 -1
  250. package/schema-builder/table/TableUnique.d.ts +5 -0
  251. package/schema-builder/table/TableUnique.js +5 -2
  252. package/schema-builder/table/TableUnique.js.map +1 -1
  253. package/util/DirectoryExportedClassesLoader.d.ts +1 -1
  254. package/util/DirectoryExportedClassesLoader.js +54 -31
  255. package/util/DirectoryExportedClassesLoader.js.map +1 -1
  256. package/util/ImportUtils.d.ts +1 -0
  257. package/util/ImportUtils.js +94 -0
  258. package/util/ImportUtils.js.map +1 -0
  259. package/util/RandomGenerator.d.ts +0 -4
  260. package/util/RandomGenerator.js +0 -9
  261. package/util/RandomGenerator.js.map +1 -1
@@ -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)];
@@ -2712,7 +2735,7 @@ var PostgresQueryRunner = /** @class */ (function (_super) {
2712
2735
  if (!(dbColumn["is_generated"] === "ALWAYS" && dbColumn["generation_expression"])) return [3 /*break*/, 9];
2713
2736
  // In postgres there is no VIRTUAL generated column type
2714
2737
  tableColumn.generatedType = "STORED";
2715
- asExpressionQuery = "SELECT * FROM \"typeorm_metadata\" "
2738
+ asExpressionQuery = "SELECT * FROM \"" + this.connection.metadataTableName + "\" "
2716
2739
  + (" WHERE \"table\" = '" + dbTable["table_name"] + "'")
2717
2740
  + (" AND \"name\" = '" + tableColumn.name + "'")
2718
2741
  + (" AND \"schema\" = '" + dbTable["table_schema"] + "'")
@@ -2750,7 +2773,8 @@ var PostgresQueryRunner = /** @class */ (function (_super) {
2750
2773
  var uniques = dbConstraints.filter(function (dbC) { return dbC["constraint_name"] === constraint["constraint_name"]; });
2751
2774
  return new TableUnique_1.TableUnique({
2752
2775
  name: constraint["constraint_name"],
2753
- 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,
2754
2778
  });
2755
2779
  });
2756
2780
  tableCheckConstraints = OrmUtils_1.OrmUtils.uniq(dbConstraints.filter(function (dbConstraint) {
@@ -2789,6 +2813,7 @@ var PostgresQueryRunner = /** @class */ (function (_super) {
2789
2813
  return new TableForeignKey_1.TableForeignKey({
2790
2814
  name: dbForeignKey["constraint_name"],
2791
2815
  columnNames: foreignKeys.map(function (dbFk) { return dbFk["column_name"]; }),
2816
+ referencedSchema: dbForeignKey["referenced_table_schema"],
2792
2817
  referencedTableName: referencedTableName,
2793
2818
  referencedColumnNames: foreignKeys.map(function (dbFk) { return dbFk["referenced_column_name"]; }),
2794
2819
  onDelete: dbForeignKey["on_delete"],
@@ -2845,7 +2870,10 @@ var PostgresQueryRunner = /** @class */ (function (_super) {
2845
2870
  var uniquesSql = table.uniques.map(function (unique) {
2846
2871
  var uniqueName = unique.name ? unique.name : _this.connection.namingStrategy.uniqueConstraintName(table, unique.columnNames);
2847
2872
  var columnNames = unique.columnNames.map(function (columnName) { return "\"" + columnName + "\""; }).join(", ");
2848
- return "CONSTRAINT \"" + uniqueName + "\" UNIQUE (" + columnNames + ")";
2873
+ var constraint = "CONSTRAINT \"" + uniqueName + "\" UNIQUE (" + columnNames + ")";
2874
+ if (unique.deferrable)
2875
+ constraint += " DEFERRABLE " + unique.deferrable;
2876
+ return constraint;
2849
2877
  }).join(", ");
2850
2878
  sql += ", " + uniquesSql;
2851
2879
  }
@@ -3077,7 +3105,10 @@ var PostgresQueryRunner = /** @class */ (function (_super) {
3077
3105
  */
3078
3106
  PostgresQueryRunner.prototype.createUniqueConstraintSql = function (table, uniqueConstraint) {
3079
3107
  var columnNames = uniqueConstraint.columnNames.map(function (column) { return "\"" + column + "\""; }).join(", ");
3080
- 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);
3081
3112
  };
3082
3113
  /**
3083
3114
  * Builds drop unique constraint sql.