typeorm 0.3.5-dev.ec27803 → 0.3.6-dev.0418ebc

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 (271) hide show
  1. package/README.md +34 -13
  2. package/browser/cache/DbQueryResultCache.js +9 -1
  3. package/browser/cache/DbQueryResultCache.js.map +1 -1
  4. package/browser/common/DeepPartial.d.ts +2 -2
  5. package/browser/common/DeepPartial.js.map +1 -1
  6. package/browser/data-source/BaseDataSourceOptions.d.ts +1 -2
  7. package/browser/data-source/BaseDataSourceOptions.js.map +1 -1
  8. package/browser/data-source/DataSourceOptions.d.ts +2 -1
  9. package/browser/data-source/DataSourceOptions.js.map +1 -1
  10. package/browser/decorator/Index.js +1 -0
  11. package/browser/decorator/Index.js.map +1 -1
  12. package/browser/decorator/columns/PrimaryColumn.js +4 -1
  13. package/browser/decorator/columns/PrimaryColumn.js.map +1 -1
  14. package/browser/decorator/options/ColumnOptions.d.ts +3 -2
  15. package/browser/decorator/options/ColumnOptions.js.map +1 -1
  16. package/browser/decorator/options/IndexOptions.d.ts +8 -0
  17. package/browser/decorator/options/IndexOptions.js.map +1 -1
  18. package/browser/driver/DriverFactory.js +4 -0
  19. package/browser/driver/DriverFactory.js.map +1 -1
  20. package/browser/driver/cockroachdb/CockroachDriver.js +4 -1
  21. package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
  22. package/browser/driver/cockroachdb/CockroachQueryRunner.js +133 -11
  23. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  24. package/browser/driver/cordova/CordovaDriver.js +1 -1
  25. package/browser/driver/cordova/CordovaDriver.js.map +1 -1
  26. package/browser/driver/cordova/CordovaQueryRunner.js +2 -2
  27. package/browser/driver/cordova/CordovaQueryRunner.js.map +1 -1
  28. package/browser/driver/expo/ExpoDriver.js +1 -1
  29. package/browser/driver/expo/ExpoDriver.js.map +1 -1
  30. package/browser/driver/expo/ExpoQueryRunner.js +2 -2
  31. package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
  32. package/browser/driver/mysql/MysqlDriver.d.ts +1 -0
  33. package/browser/driver/mysql/MysqlDriver.js +94 -23
  34. package/browser/driver/mysql/MysqlDriver.js.map +1 -1
  35. package/browser/driver/mysql/MysqlQueryRunner.js +203 -24
  36. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  37. package/browser/driver/nativescript/NativescriptDriver.js +1 -1
  38. package/browser/driver/nativescript/NativescriptDriver.js.map +1 -1
  39. package/browser/driver/oracle/OracleDriver.js +79 -15
  40. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  41. package/browser/driver/oracle/OracleQueryRunner.js +118 -21
  42. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  43. package/browser/driver/postgres/PostgresDriver.js +95 -18
  44. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  45. package/browser/driver/postgres/PostgresQueryRunner.js +60 -38
  46. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  47. package/browser/driver/react-native/ReactNativeDriver.js +1 -1
  48. package/browser/driver/react-native/ReactNativeDriver.js.map +1 -1
  49. package/browser/driver/spanner/SpannerConnectionCredentialsOptions.d.ts +17 -0
  50. package/browser/driver/spanner/SpannerConnectionCredentialsOptions.js +3 -0
  51. package/browser/driver/spanner/SpannerConnectionCredentialsOptions.js.map +1 -0
  52. package/browser/driver/spanner/SpannerConnectionOptions.d.ts +120 -0
  53. package/browser/driver/spanner/SpannerConnectionOptions.js +3 -0
  54. package/browser/driver/spanner/SpannerConnectionOptions.js.map +1 -0
  55. package/browser/driver/spanner/SpannerDriver.d.ts +241 -0
  56. package/browser/driver/spanner/SpannerDriver.js +604 -0
  57. package/browser/driver/spanner/SpannerDriver.js.map +1 -0
  58. package/browser/driver/spanner/SpannerQueryRunner.d.ts +350 -0
  59. package/browser/driver/spanner/SpannerQueryRunner.js +1445 -0
  60. package/browser/driver/spanner/SpannerQueryRunner.js.map +1 -0
  61. package/browser/driver/sqlite/SqliteDriver.js +3 -3
  62. package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
  63. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js +21 -16
  64. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  65. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +167 -22
  66. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  67. package/browser/driver/sqljs/SqljsDriver.js +1 -1
  68. package/browser/driver/sqljs/SqljsDriver.js.map +1 -1
  69. package/browser/driver/sqlserver/SqlServerDriver.d.ts +3 -1
  70. package/browser/driver/sqlserver/SqlServerDriver.js +99 -26
  71. package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
  72. package/browser/driver/sqlserver/SqlServerQueryRunner.js +153 -17
  73. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  74. package/browser/driver/types/ColumnTypes.d.ts +1 -1
  75. package/browser/driver/types/ColumnTypes.js.map +1 -1
  76. package/browser/driver/types/DatabaseType.d.ts +1 -1
  77. package/browser/driver/types/DatabaseType.js.map +1 -1
  78. package/browser/entity-schema/EntitySchemaColumnOptions.d.ts +2 -2
  79. package/browser/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
  80. package/browser/entity-schema/EntitySchemaIndexOptions.d.ts +8 -0
  81. package/browser/entity-schema/EntitySchemaIndexOptions.js.map +1 -1
  82. package/browser/entity-schema/EntitySchemaTransformer.js +1 -0
  83. package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
  84. package/browser/find-options/FindOneOptions.d.ts +1 -1
  85. package/browser/find-options/FindOneOptions.js.map +1 -1
  86. package/browser/find-options/FindOptionsUtils.d.ts +2 -1
  87. package/browser/find-options/FindOptionsUtils.js +2 -1
  88. package/browser/find-options/FindOptionsUtils.js.map +1 -1
  89. package/browser/index.d.ts +4 -0
  90. package/browser/index.js +3 -0
  91. package/browser/index.js.map +1 -1
  92. package/browser/logger/AdvancedConsoleLogger.d.ts +1 -1
  93. package/browser/logger/AdvancedConsoleLogger.js +1 -1
  94. package/browser/logger/AdvancedConsoleLogger.js.map +1 -1
  95. package/browser/metadata/ColumnMetadata.d.ts +2 -2
  96. package/browser/metadata/ColumnMetadata.js.map +1 -1
  97. package/browser/metadata/IndexMetadata.d.ts +8 -0
  98. package/browser/metadata/IndexMetadata.js +9 -0
  99. package/browser/metadata/IndexMetadata.js.map +1 -1
  100. package/browser/metadata-args/IndexMetadataArgs.d.ts +8 -0
  101. package/browser/metadata-args/IndexMetadataArgs.js.map +1 -1
  102. package/browser/metadata-builder/EntityMetadataBuilder.js +13 -6
  103. package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  104. package/browser/metadata-builder/EntityMetadataValidator.js +8 -0
  105. package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
  106. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js +13 -6
  107. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  108. package/browser/platform/PlatformTools.js +5 -0
  109. package/browser/platform/PlatformTools.js.map +1 -1
  110. package/browser/query-builder/InsertQueryBuilder.js +15 -3
  111. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  112. package/browser/query-builder/QueryExpressionMap.d.ts +1 -1
  113. package/browser/query-builder/QueryExpressionMap.js.map +1 -1
  114. package/browser/query-builder/SelectQueryBuilder.d.ts +1 -1
  115. package/browser/query-builder/SelectQueryBuilder.js +25 -4
  116. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  117. package/browser/query-builder/UpdateQueryBuilder.js +18 -7
  118. package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
  119. package/browser/query-runner/BaseQueryRunner.d.ts +10 -0
  120. package/browser/query-runner/BaseQueryRunner.js +25 -1
  121. package/browser/query-runner/BaseQueryRunner.js.map +1 -1
  122. package/browser/schema-builder/RdbmsSchemaBuilder.d.ts +6 -2
  123. package/browser/schema-builder/RdbmsSchemaBuilder.js +26 -6
  124. package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  125. package/browser/schema-builder/options/TableColumnOptions.d.ts +2 -2
  126. package/browser/schema-builder/options/TableColumnOptions.js.map +1 -1
  127. package/browser/schema-builder/options/TableIndexOptions.d.ts +8 -0
  128. package/browser/schema-builder/options/TableIndexOptions.js.map +1 -1
  129. package/browser/schema-builder/table/TableColumn.d.ts +2 -2
  130. package/browser/schema-builder/table/TableColumn.js.map +1 -1
  131. package/browser/schema-builder/table/TableIndex.d.ts +8 -0
  132. package/browser/schema-builder/table/TableIndex.js +3 -0
  133. package/browser/schema-builder/table/TableIndex.js.map +1 -1
  134. package/cache/DbQueryResultCache.js +9 -1
  135. package/cache/DbQueryResultCache.js.map +1 -1
  136. package/commands/CommandUtils.js +1 -1
  137. package/commands/CommandUtils.js.map +1 -1
  138. package/commands/InitCommand.js +1 -1
  139. package/commands/InitCommand.js.map +1 -1
  140. package/common/DeepPartial.d.ts +2 -2
  141. package/common/DeepPartial.js.map +1 -1
  142. package/data-source/BaseDataSourceOptions.d.ts +1 -2
  143. package/data-source/BaseDataSourceOptions.js.map +1 -1
  144. package/data-source/DataSourceOptions.d.ts +2 -1
  145. package/data-source/DataSourceOptions.js.map +1 -1
  146. package/decorator/Index.js +1 -0
  147. package/decorator/Index.js.map +1 -1
  148. package/decorator/columns/PrimaryColumn.js +4 -1
  149. package/decorator/columns/PrimaryColumn.js.map +1 -1
  150. package/decorator/options/ColumnOptions.d.ts +3 -2
  151. package/decorator/options/ColumnOptions.js.map +1 -1
  152. package/decorator/options/IndexOptions.d.ts +8 -0
  153. package/decorator/options/IndexOptions.js.map +1 -1
  154. package/driver/DriverFactory.js +4 -0
  155. package/driver/DriverFactory.js.map +1 -1
  156. package/driver/cockroachdb/CockroachDriver.js +4 -1
  157. package/driver/cockroachdb/CockroachDriver.js.map +1 -1
  158. package/driver/cockroachdb/CockroachQueryRunner.js +133 -11
  159. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  160. package/driver/cordova/CordovaDriver.js +1 -1
  161. package/driver/cordova/CordovaDriver.js.map +1 -1
  162. package/driver/cordova/CordovaQueryRunner.js +2 -2
  163. package/driver/cordova/CordovaQueryRunner.js.map +1 -1
  164. package/driver/expo/ExpoDriver.js +1 -1
  165. package/driver/expo/ExpoDriver.js.map +1 -1
  166. package/driver/expo/ExpoQueryRunner.js +2 -2
  167. package/driver/expo/ExpoQueryRunner.js.map +1 -1
  168. package/driver/mysql/MysqlDriver.d.ts +1 -0
  169. package/driver/mysql/MysqlDriver.js +94 -23
  170. package/driver/mysql/MysqlDriver.js.map +1 -1
  171. package/driver/mysql/MysqlQueryRunner.js +203 -24
  172. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  173. package/driver/nativescript/NativescriptDriver.js +1 -1
  174. package/driver/nativescript/NativescriptDriver.js.map +1 -1
  175. package/driver/oracle/OracleDriver.js +79 -15
  176. package/driver/oracle/OracleDriver.js.map +1 -1
  177. package/driver/oracle/OracleQueryRunner.js +118 -21
  178. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  179. package/driver/postgres/PostgresDriver.js +95 -18
  180. package/driver/postgres/PostgresDriver.js.map +1 -1
  181. package/driver/postgres/PostgresQueryRunner.js +60 -38
  182. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  183. package/driver/react-native/ReactNativeDriver.js +1 -1
  184. package/driver/react-native/ReactNativeDriver.js.map +1 -1
  185. package/driver/spanner/SpannerConnectionCredentialsOptions.d.ts +17 -0
  186. package/driver/spanner/SpannerConnectionCredentialsOptions.js +4 -0
  187. package/driver/spanner/SpannerConnectionCredentialsOptions.js.map +1 -0
  188. package/driver/spanner/SpannerConnectionOptions.d.ts +120 -0
  189. package/driver/spanner/SpannerConnectionOptions.js +4 -0
  190. package/driver/spanner/SpannerConnectionOptions.js.map +1 -0
  191. package/driver/spanner/SpannerDriver.d.ts +241 -0
  192. package/driver/spanner/SpannerDriver.js +608 -0
  193. package/driver/spanner/SpannerDriver.js.map +1 -0
  194. package/driver/spanner/SpannerQueryRunner.d.ts +350 -0
  195. package/driver/spanner/SpannerQueryRunner.js +1449 -0
  196. package/driver/spanner/SpannerQueryRunner.js.map +1 -0
  197. package/driver/sqlite/SqliteDriver.js +3 -3
  198. package/driver/sqlite/SqliteDriver.js.map +1 -1
  199. package/driver/sqlite-abstract/AbstractSqliteDriver.js +21 -16
  200. package/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  201. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +167 -22
  202. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  203. package/driver/sqljs/SqljsDriver.js +1 -1
  204. package/driver/sqljs/SqljsDriver.js.map +1 -1
  205. package/driver/sqlserver/SqlServerDriver.d.ts +3 -1
  206. package/driver/sqlserver/SqlServerDriver.js +99 -26
  207. package/driver/sqlserver/SqlServerDriver.js.map +1 -1
  208. package/driver/sqlserver/SqlServerQueryRunner.js +153 -17
  209. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  210. package/driver/types/ColumnTypes.d.ts +1 -1
  211. package/driver/types/ColumnTypes.js.map +1 -1
  212. package/driver/types/DatabaseType.d.ts +1 -1
  213. package/driver/types/DatabaseType.js.map +1 -1
  214. package/entity-schema/EntitySchemaColumnOptions.d.ts +2 -2
  215. package/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
  216. package/entity-schema/EntitySchemaIndexOptions.d.ts +8 -0
  217. package/entity-schema/EntitySchemaIndexOptions.js.map +1 -1
  218. package/entity-schema/EntitySchemaTransformer.js +1 -0
  219. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  220. package/find-options/FindOneOptions.d.ts +1 -1
  221. package/find-options/FindOneOptions.js.map +1 -1
  222. package/find-options/FindOptionsUtils.d.ts +2 -1
  223. package/find-options/FindOptionsUtils.js +2 -1
  224. package/find-options/FindOptionsUtils.js.map +1 -1
  225. package/index.d.ts +4 -0
  226. package/index.js +3 -0
  227. package/index.js.map +1 -1
  228. package/index.mjs +6 -0
  229. package/logger/AdvancedConsoleLogger.d.ts +1 -1
  230. package/logger/AdvancedConsoleLogger.js +1 -1
  231. package/logger/AdvancedConsoleLogger.js.map +1 -1
  232. package/metadata/ColumnMetadata.d.ts +2 -2
  233. package/metadata/ColumnMetadata.js.map +1 -1
  234. package/metadata/IndexMetadata.d.ts +8 -0
  235. package/metadata/IndexMetadata.js +9 -0
  236. package/metadata/IndexMetadata.js.map +1 -1
  237. package/metadata-args/IndexMetadataArgs.d.ts +8 -0
  238. package/metadata-args/IndexMetadataArgs.js.map +1 -1
  239. package/metadata-builder/EntityMetadataBuilder.js +13 -6
  240. package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  241. package/metadata-builder/EntityMetadataValidator.js +8 -0
  242. package/metadata-builder/EntityMetadataValidator.js.map +1 -1
  243. package/metadata-builder/JunctionEntityMetadataBuilder.js +13 -6
  244. package/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  245. package/package.json +1 -1
  246. package/platform/PlatformTools.js +5 -0
  247. package/platform/PlatformTools.js.map +1 -1
  248. package/query-builder/InsertQueryBuilder.js +15 -3
  249. package/query-builder/InsertQueryBuilder.js.map +1 -1
  250. package/query-builder/QueryExpressionMap.d.ts +1 -1
  251. package/query-builder/QueryExpressionMap.js.map +1 -1
  252. package/query-builder/SelectQueryBuilder.d.ts +1 -1
  253. package/query-builder/SelectQueryBuilder.js +25 -4
  254. package/query-builder/SelectQueryBuilder.js.map +1 -1
  255. package/query-builder/UpdateQueryBuilder.js +18 -7
  256. package/query-builder/UpdateQueryBuilder.js.map +1 -1
  257. package/query-runner/BaseQueryRunner.d.ts +10 -0
  258. package/query-runner/BaseQueryRunner.js +25 -1
  259. package/query-runner/BaseQueryRunner.js.map +1 -1
  260. package/schema-builder/RdbmsSchemaBuilder.d.ts +6 -2
  261. package/schema-builder/RdbmsSchemaBuilder.js +26 -6
  262. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  263. package/schema-builder/options/TableColumnOptions.d.ts +2 -2
  264. package/schema-builder/options/TableColumnOptions.js.map +1 -1
  265. package/schema-builder/options/TableIndexOptions.d.ts +8 -0
  266. package/schema-builder/options/TableIndexOptions.js.map +1 -1
  267. package/schema-builder/table/TableColumn.d.ts +2 -2
  268. package/schema-builder/table/TableColumn.js.map +1 -1
  269. package/schema-builder/table/TableIndex.d.ts +8 -0
  270. package/schema-builder/table/TableIndex.js +3 -0
  271. package/schema-builder/table/TableIndex.js.map +1 -1
@@ -386,7 +386,6 @@ export class PostgresQueryRunner extends BaseQueryRunner {
386
386
  type: MetadataTableType.GENERATED_COLUMN,
387
387
  name: column.name,
388
388
  });
389
- upQueries.push(deleteQuery);
390
389
  upQueries.push(insertQuery);
391
390
  downQueries.push(deleteQuery);
392
391
  }
@@ -434,6 +433,30 @@ export class PostgresQueryRunner extends BaseQueryRunner {
434
433
  table.foreignKeys.forEach((foreignKey) => upQueries.push(this.dropForeignKeySql(table, foreignKey)));
435
434
  upQueries.push(this.dropTableSql(table));
436
435
  downQueries.push(this.createTableSql(table, createForeignKeys));
436
+ // if table had columns with generated type, we must remove the expression from the metadata table
437
+ const generatedColumns = table.columns.filter((column) => column.generatedType && column.asExpression);
438
+ for (const column of generatedColumns) {
439
+ const tableNameWithSchema = (await this.getTableNameWithSchema(table.name)).split(".");
440
+ const tableName = tableNameWithSchema[1];
441
+ const schema = tableNameWithSchema[0];
442
+ const deleteQuery = this.deleteTypeormMetadataSql({
443
+ database: this.driver.database,
444
+ schema,
445
+ table: tableName,
446
+ type: MetadataTableType.GENERATED_COLUMN,
447
+ name: column.name,
448
+ });
449
+ const insertQuery = this.insertTypeormMetadataSql({
450
+ database: this.driver.database,
451
+ schema,
452
+ table: tableName,
453
+ type: MetadataTableType.GENERATED_COLUMN,
454
+ name: column.name,
455
+ value: column.asExpression,
456
+ });
457
+ upQueries.push(deleteQuery);
458
+ downQueries.push(insertQuery);
459
+ }
437
460
  await this.executeQueries(upQueries, downQueries);
438
461
  }
439
462
  /**
@@ -623,7 +646,6 @@ export class PostgresQueryRunner extends BaseQueryRunner {
623
646
  type: MetadataTableType.GENERATED_COLUMN,
624
647
  name: column.name,
625
648
  });
626
- upQueries.push(deleteQuery);
627
649
  upQueries.push(insertQuery);
628
650
  downQueries.push(deleteQuery);
629
651
  }
@@ -994,15 +1016,6 @@ export class PostgresQueryRunner extends BaseQueryRunner {
994
1016
  name: oldColumn.name,
995
1017
  }));
996
1018
  // However, we can't copy it back on downgrade. It needs to regenerate.
997
- downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP COLUMN "${newColumn.name}"`));
998
- downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD ${this.buildCreateColumnSql(table, oldColumn)}`));
999
- downQueries.push(this.deleteTypeormMetadataSql({
1000
- database: this.driver.database,
1001
- schema,
1002
- table: tableName,
1003
- type: MetadataTableType.GENERATED_COLUMN,
1004
- name: newColumn.name,
1005
- }));
1006
1019
  downQueries.push(this.insertTypeormMetadataSql({
1007
1020
  database: this.driver.database,
1008
1021
  schema,
@@ -1011,6 +1024,17 @@ export class PostgresQueryRunner extends BaseQueryRunner {
1011
1024
  name: oldColumn.name,
1012
1025
  value: oldColumn.asExpression,
1013
1026
  }));
1027
+ downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} ADD ${this.buildCreateColumnSql(table, oldColumn)}`));
1028
+ downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} DROP COLUMN "${newColumn.name}"`));
1029
+ // downQueries.push(
1030
+ // this.deleteTypeormMetadataSql({
1031
+ // database: this.driver.database,
1032
+ // schema,
1033
+ // table: tableName,
1034
+ // type: MetadataTableType.GENERATED_COLUMN,
1035
+ // name: newColumn.name,
1036
+ // }),
1037
+ // )
1014
1038
  }
1015
1039
  }
1016
1040
  }
@@ -1102,14 +1126,14 @@ export class PostgresQueryRunner extends BaseQueryRunner {
1102
1126
  const tableNameWithSchema = (await this.getTableNameWithSchema(table.name)).split(".");
1103
1127
  const tableName = tableNameWithSchema[1];
1104
1128
  const schema = tableNameWithSchema[0];
1105
- const insertQuery = this.deleteTypeormMetadataSql({
1129
+ const deleteQuery = this.deleteTypeormMetadataSql({
1106
1130
  database: this.driver.database,
1107
1131
  schema,
1108
1132
  table: tableName,
1109
1133
  type: MetadataTableType.GENERATED_COLUMN,
1110
1134
  name: column.name,
1111
1135
  });
1112
- const deleteQuery = this.insertTypeormMetadataSql({
1136
+ const insertQuery = this.insertTypeormMetadataSql({
1113
1137
  database: this.driver.database,
1114
1138
  schema,
1115
1139
  table: tableName,
@@ -1117,8 +1141,8 @@ export class PostgresQueryRunner extends BaseQueryRunner {
1117
1141
  name: column.name,
1118
1142
  value: column.asExpression,
1119
1143
  });
1120
- upQueries.push(insertQuery);
1121
- downQueries.push(deleteQuery);
1144
+ upQueries.push(deleteQuery);
1145
+ downQueries.push(insertQuery);
1122
1146
  }
1123
1147
  await this.executeQueries(upQueries, downQueries);
1124
1148
  clonedTable.removeColumn(column);
@@ -1867,13 +1891,14 @@ export class PostgresQueryRunner extends BaseQueryRunner {
1867
1891
  // In postgres there is no VIRTUAL generated column type
1868
1892
  tableColumn.generatedType = "STORED";
1869
1893
  // We cannot relay on information_schema.columns.generation_expression, because it is formatted different.
1870
- const asExpressionQuery = `SELECT * FROM "${this.connection.metadataTableName}" ` +
1871
- ` WHERE "table" = '${dbTable["table_name"]}'` +
1872
- ` AND "name" = '${tableColumn.name}'` +
1873
- ` AND "schema" = '${dbTable["table_schema"]}'` +
1874
- ` AND "database" = '${this.driver.database}'` +
1875
- ` AND "type" = '${MetadataTableType.GENERATED_COLUMN}'`;
1876
- const results = await this.query(asExpressionQuery);
1894
+ const asExpressionQuery = await this.selectTypeormMetadataSql({
1895
+ database: currentDatabase,
1896
+ schema: dbTable["table_schema"],
1897
+ table: dbTable["table_name"],
1898
+ type: MetadataTableType.GENERATED_COLUMN,
1899
+ name: tableColumn.name,
1900
+ });
1901
+ const results = await this.query(asExpressionQuery.query, asExpressionQuery.parameters);
1877
1902
  if (results[0] && results[0].value) {
1878
1903
  tableColumn.asExpression = results[0].value;
1879
1904
  }
@@ -2446,25 +2471,22 @@ export class PostgresQueryRunner extends BaseQueryRunner {
2446
2471
  else if (!column.isGenerated || column.type === "uuid") {
2447
2472
  c += " " + this.connection.driver.createFullType(column);
2448
2473
  }
2449
- // CHARACTER SET, COLLATE, NOT NULL and DEFAULT do not exist on generated (virtual) columns
2450
- // Also, postgres only supports the stored generated column type
2474
+ // Postgres only supports the stored generated column type
2451
2475
  if (column.generatedType === "STORED" && column.asExpression) {
2452
2476
  c += ` GENERATED ALWAYS AS (${column.asExpression}) STORED`;
2453
2477
  }
2454
- else {
2455
- if (column.charset)
2456
- c += ' CHARACTER SET "' + column.charset + '"';
2457
- if (column.collation)
2458
- c += ' COLLATE "' + column.collation + '"';
2459
- if (column.isNullable !== true)
2460
- c += " NOT NULL";
2461
- if (column.default !== undefined && column.default !== null)
2462
- c += " DEFAULT " + column.default;
2463
- if (column.isGenerated &&
2464
- column.generationStrategy === "uuid" &&
2465
- !column.default)
2466
- c += ` DEFAULT ${this.driver.uuidGenerator}`;
2467
- }
2478
+ if (column.charset)
2479
+ c += ' CHARACTER SET "' + column.charset + '"';
2480
+ if (column.collation)
2481
+ c += ' COLLATE "' + column.collation + '"';
2482
+ if (column.isNullable !== true)
2483
+ c += " NOT NULL";
2484
+ if (column.default !== undefined && column.default !== null)
2485
+ c += " DEFAULT " + column.default;
2486
+ if (column.isGenerated &&
2487
+ column.generationStrategy === "uuid" &&
2488
+ !column.default)
2489
+ c += ` DEFAULT ${this.driver.uuidGenerator}`;
2468
2490
  return c;
2469
2491
  }
2470
2492
  /**