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.
- package/README.md +34 -13
- package/browser/cache/DbQueryResultCache.js +9 -1
- package/browser/cache/DbQueryResultCache.js.map +1 -1
- package/browser/common/DeepPartial.d.ts +2 -2
- package/browser/common/DeepPartial.js.map +1 -1
- package/browser/data-source/BaseDataSourceOptions.d.ts +1 -2
- package/browser/data-source/BaseDataSourceOptions.js.map +1 -1
- package/browser/data-source/DataSourceOptions.d.ts +2 -1
- package/browser/data-source/DataSourceOptions.js.map +1 -1
- package/browser/decorator/Index.js +1 -0
- package/browser/decorator/Index.js.map +1 -1
- package/browser/decorator/columns/PrimaryColumn.js +4 -1
- package/browser/decorator/columns/PrimaryColumn.js.map +1 -1
- package/browser/decorator/options/ColumnOptions.d.ts +3 -2
- package/browser/decorator/options/ColumnOptions.js.map +1 -1
- package/browser/decorator/options/IndexOptions.d.ts +8 -0
- package/browser/decorator/options/IndexOptions.js.map +1 -1
- package/browser/driver/DriverFactory.js +4 -0
- package/browser/driver/DriverFactory.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachDriver.js +4 -1
- package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachQueryRunner.js +133 -11
- package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/browser/driver/cordova/CordovaDriver.js +1 -1
- package/browser/driver/cordova/CordovaDriver.js.map +1 -1
- package/browser/driver/cordova/CordovaQueryRunner.js +2 -2
- package/browser/driver/cordova/CordovaQueryRunner.js.map +1 -1
- package/browser/driver/expo/ExpoDriver.js +1 -1
- package/browser/driver/expo/ExpoDriver.js.map +1 -1
- package/browser/driver/expo/ExpoQueryRunner.js +2 -2
- package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
- package/browser/driver/mysql/MysqlDriver.d.ts +1 -0
- package/browser/driver/mysql/MysqlDriver.js +94 -23
- package/browser/driver/mysql/MysqlDriver.js.map +1 -1
- package/browser/driver/mysql/MysqlQueryRunner.js +203 -24
- package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/browser/driver/nativescript/NativescriptDriver.js +1 -1
- package/browser/driver/nativescript/NativescriptDriver.js.map +1 -1
- package/browser/driver/oracle/OracleDriver.js +79 -15
- package/browser/driver/oracle/OracleDriver.js.map +1 -1
- package/browser/driver/oracle/OracleQueryRunner.js +118 -21
- package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/browser/driver/postgres/PostgresDriver.js +95 -18
- package/browser/driver/postgres/PostgresDriver.js.map +1 -1
- package/browser/driver/postgres/PostgresQueryRunner.js +60 -38
- package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/browser/driver/react-native/ReactNativeDriver.js +1 -1
- package/browser/driver/react-native/ReactNativeDriver.js.map +1 -1
- package/browser/driver/spanner/SpannerConnectionCredentialsOptions.d.ts +17 -0
- package/browser/driver/spanner/SpannerConnectionCredentialsOptions.js +3 -0
- package/browser/driver/spanner/SpannerConnectionCredentialsOptions.js.map +1 -0
- package/browser/driver/spanner/SpannerConnectionOptions.d.ts +120 -0
- package/browser/driver/spanner/SpannerConnectionOptions.js +3 -0
- package/browser/driver/spanner/SpannerConnectionOptions.js.map +1 -0
- package/browser/driver/spanner/SpannerDriver.d.ts +241 -0
- package/browser/driver/spanner/SpannerDriver.js +604 -0
- package/browser/driver/spanner/SpannerDriver.js.map +1 -0
- package/browser/driver/spanner/SpannerQueryRunner.d.ts +350 -0
- package/browser/driver/spanner/SpannerQueryRunner.js +1445 -0
- package/browser/driver/spanner/SpannerQueryRunner.js.map +1 -0
- package/browser/driver/sqlite/SqliteDriver.js +3 -3
- package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js +21 -16
- package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +167 -22
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/browser/driver/sqljs/SqljsDriver.js +1 -1
- package/browser/driver/sqljs/SqljsDriver.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerDriver.d.ts +3 -1
- package/browser/driver/sqlserver/SqlServerDriver.js +99 -26
- package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerQueryRunner.js +153 -17
- package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/browser/driver/types/ColumnTypes.d.ts +1 -1
- package/browser/driver/types/ColumnTypes.js.map +1 -1
- package/browser/driver/types/DatabaseType.d.ts +1 -1
- package/browser/driver/types/DatabaseType.js.map +1 -1
- package/browser/entity-schema/EntitySchemaColumnOptions.d.ts +2 -2
- package/browser/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaIndexOptions.d.ts +8 -0
- package/browser/entity-schema/EntitySchemaIndexOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaTransformer.js +1 -0
- package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
- package/browser/find-options/FindOneOptions.d.ts +1 -1
- package/browser/find-options/FindOneOptions.js.map +1 -1
- package/browser/find-options/FindOptionsUtils.d.ts +2 -1
- package/browser/find-options/FindOptionsUtils.js +2 -1
- package/browser/find-options/FindOptionsUtils.js.map +1 -1
- package/browser/index.d.ts +4 -0
- package/browser/index.js +3 -0
- package/browser/index.js.map +1 -1
- package/browser/logger/AdvancedConsoleLogger.d.ts +1 -1
- package/browser/logger/AdvancedConsoleLogger.js +1 -1
- package/browser/logger/AdvancedConsoleLogger.js.map +1 -1
- package/browser/metadata/ColumnMetadata.d.ts +2 -2
- package/browser/metadata/ColumnMetadata.js.map +1 -1
- package/browser/metadata/IndexMetadata.d.ts +8 -0
- package/browser/metadata/IndexMetadata.js +9 -0
- package/browser/metadata/IndexMetadata.js.map +1 -1
- package/browser/metadata-args/IndexMetadataArgs.d.ts +8 -0
- package/browser/metadata-args/IndexMetadataArgs.js.map +1 -1
- package/browser/metadata-builder/EntityMetadataBuilder.js +13 -6
- package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/browser/metadata-builder/EntityMetadataValidator.js +8 -0
- package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
- package/browser/metadata-builder/JunctionEntityMetadataBuilder.js +13 -6
- package/browser/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
- package/browser/platform/PlatformTools.js +5 -0
- package/browser/platform/PlatformTools.js.map +1 -1
- package/browser/query-builder/InsertQueryBuilder.js +15 -3
- package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
- package/browser/query-builder/QueryExpressionMap.d.ts +1 -1
- package/browser/query-builder/QueryExpressionMap.js.map +1 -1
- package/browser/query-builder/SelectQueryBuilder.d.ts +1 -1
- package/browser/query-builder/SelectQueryBuilder.js +25 -4
- package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
- package/browser/query-builder/UpdateQueryBuilder.js +18 -7
- package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
- package/browser/query-runner/BaseQueryRunner.d.ts +10 -0
- package/browser/query-runner/BaseQueryRunner.js +25 -1
- package/browser/query-runner/BaseQueryRunner.js.map +1 -1
- package/browser/schema-builder/RdbmsSchemaBuilder.d.ts +6 -2
- package/browser/schema-builder/RdbmsSchemaBuilder.js +26 -6
- package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
- package/browser/schema-builder/options/TableColumnOptions.d.ts +2 -2
- package/browser/schema-builder/options/TableColumnOptions.js.map +1 -1
- package/browser/schema-builder/options/TableIndexOptions.d.ts +8 -0
- package/browser/schema-builder/options/TableIndexOptions.js.map +1 -1
- package/browser/schema-builder/table/TableColumn.d.ts +2 -2
- package/browser/schema-builder/table/TableColumn.js.map +1 -1
- package/browser/schema-builder/table/TableIndex.d.ts +8 -0
- package/browser/schema-builder/table/TableIndex.js +3 -0
- package/browser/schema-builder/table/TableIndex.js.map +1 -1
- package/cache/DbQueryResultCache.js +9 -1
- package/cache/DbQueryResultCache.js.map +1 -1
- package/commands/CommandUtils.js +1 -1
- package/commands/CommandUtils.js.map +1 -1
- package/commands/InitCommand.js +1 -1
- package/commands/InitCommand.js.map +1 -1
- package/common/DeepPartial.d.ts +2 -2
- package/common/DeepPartial.js.map +1 -1
- package/data-source/BaseDataSourceOptions.d.ts +1 -2
- package/data-source/BaseDataSourceOptions.js.map +1 -1
- package/data-source/DataSourceOptions.d.ts +2 -1
- package/data-source/DataSourceOptions.js.map +1 -1
- package/decorator/Index.js +1 -0
- package/decorator/Index.js.map +1 -1
- package/decorator/columns/PrimaryColumn.js +4 -1
- package/decorator/columns/PrimaryColumn.js.map +1 -1
- package/decorator/options/ColumnOptions.d.ts +3 -2
- package/decorator/options/ColumnOptions.js.map +1 -1
- package/decorator/options/IndexOptions.d.ts +8 -0
- package/decorator/options/IndexOptions.js.map +1 -1
- package/driver/DriverFactory.js +4 -0
- package/driver/DriverFactory.js.map +1 -1
- package/driver/cockroachdb/CockroachDriver.js +4 -1
- package/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/driver/cockroachdb/CockroachQueryRunner.js +133 -11
- package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/driver/cordova/CordovaDriver.js +1 -1
- package/driver/cordova/CordovaDriver.js.map +1 -1
- package/driver/cordova/CordovaQueryRunner.js +2 -2
- package/driver/cordova/CordovaQueryRunner.js.map +1 -1
- package/driver/expo/ExpoDriver.js +1 -1
- package/driver/expo/ExpoDriver.js.map +1 -1
- package/driver/expo/ExpoQueryRunner.js +2 -2
- package/driver/expo/ExpoQueryRunner.js.map +1 -1
- package/driver/mysql/MysqlDriver.d.ts +1 -0
- package/driver/mysql/MysqlDriver.js +94 -23
- package/driver/mysql/MysqlDriver.js.map +1 -1
- package/driver/mysql/MysqlQueryRunner.js +203 -24
- package/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/driver/nativescript/NativescriptDriver.js +1 -1
- package/driver/nativescript/NativescriptDriver.js.map +1 -1
- package/driver/oracle/OracleDriver.js +79 -15
- package/driver/oracle/OracleDriver.js.map +1 -1
- package/driver/oracle/OracleQueryRunner.js +118 -21
- package/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/driver/postgres/PostgresDriver.js +95 -18
- package/driver/postgres/PostgresDriver.js.map +1 -1
- package/driver/postgres/PostgresQueryRunner.js +60 -38
- package/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/driver/react-native/ReactNativeDriver.js +1 -1
- package/driver/react-native/ReactNativeDriver.js.map +1 -1
- package/driver/spanner/SpannerConnectionCredentialsOptions.d.ts +17 -0
- package/driver/spanner/SpannerConnectionCredentialsOptions.js +4 -0
- package/driver/spanner/SpannerConnectionCredentialsOptions.js.map +1 -0
- package/driver/spanner/SpannerConnectionOptions.d.ts +120 -0
- package/driver/spanner/SpannerConnectionOptions.js +4 -0
- package/driver/spanner/SpannerConnectionOptions.js.map +1 -0
- package/driver/spanner/SpannerDriver.d.ts +241 -0
- package/driver/spanner/SpannerDriver.js +608 -0
- package/driver/spanner/SpannerDriver.js.map +1 -0
- package/driver/spanner/SpannerQueryRunner.d.ts +350 -0
- package/driver/spanner/SpannerQueryRunner.js +1449 -0
- package/driver/spanner/SpannerQueryRunner.js.map +1 -0
- package/driver/sqlite/SqliteDriver.js +3 -3
- package/driver/sqlite/SqliteDriver.js.map +1 -1
- package/driver/sqlite-abstract/AbstractSqliteDriver.js +21 -16
- package/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +167 -22
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/driver/sqljs/SqljsDriver.js +1 -1
- package/driver/sqljs/SqljsDriver.js.map +1 -1
- package/driver/sqlserver/SqlServerDriver.d.ts +3 -1
- package/driver/sqlserver/SqlServerDriver.js +99 -26
- package/driver/sqlserver/SqlServerDriver.js.map +1 -1
- package/driver/sqlserver/SqlServerQueryRunner.js +153 -17
- package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/driver/types/ColumnTypes.d.ts +1 -1
- package/driver/types/ColumnTypes.js.map +1 -1
- package/driver/types/DatabaseType.d.ts +1 -1
- package/driver/types/DatabaseType.js.map +1 -1
- package/entity-schema/EntitySchemaColumnOptions.d.ts +2 -2
- package/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
- package/entity-schema/EntitySchemaIndexOptions.d.ts +8 -0
- package/entity-schema/EntitySchemaIndexOptions.js.map +1 -1
- package/entity-schema/EntitySchemaTransformer.js +1 -0
- package/entity-schema/EntitySchemaTransformer.js.map +1 -1
- package/find-options/FindOneOptions.d.ts +1 -1
- package/find-options/FindOneOptions.js.map +1 -1
- package/find-options/FindOptionsUtils.d.ts +2 -1
- package/find-options/FindOptionsUtils.js +2 -1
- package/find-options/FindOptionsUtils.js.map +1 -1
- package/index.d.ts +4 -0
- package/index.js +3 -0
- package/index.js.map +1 -1
- package/index.mjs +6 -0
- package/logger/AdvancedConsoleLogger.d.ts +1 -1
- package/logger/AdvancedConsoleLogger.js +1 -1
- package/logger/AdvancedConsoleLogger.js.map +1 -1
- package/metadata/ColumnMetadata.d.ts +2 -2
- package/metadata/ColumnMetadata.js.map +1 -1
- package/metadata/IndexMetadata.d.ts +8 -0
- package/metadata/IndexMetadata.js +9 -0
- package/metadata/IndexMetadata.js.map +1 -1
- package/metadata-args/IndexMetadataArgs.d.ts +8 -0
- package/metadata-args/IndexMetadataArgs.js.map +1 -1
- package/metadata-builder/EntityMetadataBuilder.js +13 -6
- package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/metadata-builder/EntityMetadataValidator.js +8 -0
- package/metadata-builder/EntityMetadataValidator.js.map +1 -1
- package/metadata-builder/JunctionEntityMetadataBuilder.js +13 -6
- package/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
- package/package.json +1 -1
- package/platform/PlatformTools.js +5 -0
- package/platform/PlatformTools.js.map +1 -1
- package/query-builder/InsertQueryBuilder.js +15 -3
- package/query-builder/InsertQueryBuilder.js.map +1 -1
- package/query-builder/QueryExpressionMap.d.ts +1 -1
- package/query-builder/QueryExpressionMap.js.map +1 -1
- package/query-builder/SelectQueryBuilder.d.ts +1 -1
- package/query-builder/SelectQueryBuilder.js +25 -4
- package/query-builder/SelectQueryBuilder.js.map +1 -1
- package/query-builder/UpdateQueryBuilder.js +18 -7
- package/query-builder/UpdateQueryBuilder.js.map +1 -1
- package/query-runner/BaseQueryRunner.d.ts +10 -0
- package/query-runner/BaseQueryRunner.js +25 -1
- package/query-runner/BaseQueryRunner.js.map +1 -1
- package/schema-builder/RdbmsSchemaBuilder.d.ts +6 -2
- package/schema-builder/RdbmsSchemaBuilder.js +26 -6
- package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
- package/schema-builder/options/TableColumnOptions.d.ts +2 -2
- package/schema-builder/options/TableColumnOptions.js.map +1 -1
- package/schema-builder/options/TableIndexOptions.d.ts +8 -0
- package/schema-builder/options/TableIndexOptions.js.map +1 -1
- package/schema-builder/table/TableColumn.d.ts +2 -2
- package/schema-builder/table/TableColumn.js.map +1 -1
- package/schema-builder/table/TableIndex.d.ts +8 -0
- package/schema-builder/table/TableIndex.js +3 -0
- 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
|
|
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
|
|
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(
|
|
1121
|
-
downQueries.push(
|
|
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 =
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
|
|
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
|
-
//
|
|
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
|
-
|
|
2455
|
-
|
|
2456
|
-
|
|
2457
|
-
|
|
2458
|
-
|
|
2459
|
-
|
|
2460
|
-
|
|
2461
|
-
|
|
2462
|
-
|
|
2463
|
-
|
|
2464
|
-
|
|
2465
|
-
|
|
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
|
/**
|