typeorm 0.3.18-dev.fdb9866 → 0.3.18
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/browser/cache/DbQueryResultCache.js +3 -0
- package/browser/cache/DbQueryResultCache.js.map +1 -1
- package/browser/data-source/BaseDataSourceOptions.d.ts +4 -0
- package/browser/data-source/BaseDataSourceOptions.js.map +1 -1
- package/browser/data-source/DataSource.js +3 -0
- package/browser/data-source/DataSource.js.map +1 -1
- package/browser/decorator/entity/Entity.js +1 -0
- package/browser/decorator/entity/Entity.js.map +1 -1
- package/browser/decorator/options/EntityOptions.d.ts +4 -0
- package/browser/decorator/options/EntityOptions.js.map +1 -1
- package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts +4 -0
- package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js +15 -6
- package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
- package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.d.ts +5 -0
- package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js +16 -6
- package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
- package/browser/driver/capacitor/CapacitorDriver.js +2 -2
- package/browser/driver/capacitor/CapacitorDriver.js.map +1 -1
- package/browser/driver/capacitor/CapacitorQueryRunner.js +2 -2
- package/browser/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachDriver.js +20 -10
- package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachQueryRunner.d.ts +10 -1
- package/browser/driver/cockroachdb/CockroachQueryRunner.js +55 -19
- package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/browser/driver/cordova/CordovaDriver.js +2 -2
- package/browser/driver/cordova/CordovaDriver.js.map +1 -1
- package/browser/driver/cordova/CordovaQueryRunner.js +8 -0
- package/browser/driver/cordova/CordovaQueryRunner.js.map +1 -1
- package/browser/driver/expo/ExpoQueryRunner.js +9 -2
- package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
- package/browser/driver/mongodb/MongoQueryRunner.d.ts +4 -0
- package/browser/driver/mongodb/MongoQueryRunner.js +6 -0
- package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
- package/browser/driver/mysql/MysqlQueryRunner.d.ts +4 -0
- package/browser/driver/mysql/MysqlQueryRunner.js +47 -10
- package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/browser/driver/oracle/OracleConnectionOptions.d.ts +14 -0
- package/browser/driver/oracle/OracleConnectionOptions.js.map +1 -1
- package/browser/driver/oracle/OracleDriver.js +6 -0
- package/browser/driver/oracle/OracleDriver.js.map +1 -1
- package/browser/driver/oracle/OracleQueryRunner.d.ts +4 -0
- package/browser/driver/oracle/OracleQueryRunner.js +21 -5
- package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/browser/driver/postgres/PostgresDriver.js +1 -4
- package/browser/driver/postgres/PostgresDriver.js.map +1 -1
- package/browser/driver/postgres/PostgresQueryRunner.d.ts +4 -0
- package/browser/driver/postgres/PostgresQueryRunner.js +24 -7
- package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/browser/driver/react-native/ReactNativeQueryRunner.js +10 -2
- package/browser/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
- package/browser/driver/sap/SapQueryRunner.d.ts +4 -0
- package/browser/driver/sap/SapQueryRunner.js +28 -10
- package/browser/driver/sap/SapQueryRunner.js.map +1 -1
- package/browser/driver/spanner/SpannerQueryRunner.d.ts +4 -0
- package/browser/driver/spanner/SpannerQueryRunner.js +13 -1
- package/browser/driver/spanner/SpannerQueryRunner.js.map +1 -1
- package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
- package/browser/driver/sqlite/SqliteQueryRunner.js +60 -46
- package/browser/driver/sqlite/SqliteQueryRunner.js.map +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +4 -0
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +16 -7
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/browser/driver/sqljs/SqljsQueryRunner.js +11 -3
- package/browser/driver/sqljs/SqljsQueryRunner.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerConnectionOptions.d.ts +0 -5
- package/browser/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerQueryRunner.d.ts +4 -0
- package/browser/driver/sqlserver/SqlServerQueryRunner.js +19 -6
- package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/browser/entity-manager/MongoEntityManager.js +4 -8
- package/browser/entity-manager/MongoEntityManager.js.map +1 -1
- package/browser/error/EntityNotFoundError.d.ts +2 -0
- package/browser/error/EntityNotFoundError.js +2 -0
- package/browser/error/EntityNotFoundError.js.map +1 -1
- package/browser/find-options/FindOperatorType.d.ts +1 -1
- package/browser/find-options/FindOperatorType.js.map +1 -1
- package/browser/find-options/operator/Or.d.ts +2 -0
- package/browser/find-options/operator/Or.js +6 -0
- package/browser/find-options/operator/Or.js.map +1 -0
- package/browser/index.d.ts +1 -0
- package/browser/index.js +1 -0
- package/browser/index.js.map +1 -1
- package/browser/logger/AbstractLogger.js +1 -1
- package/browser/logger/AbstractLogger.js.map +1 -1
- package/browser/metadata/ColumnMetadata.js +4 -0
- package/browser/metadata/ColumnMetadata.js.map +1 -1
- package/browser/metadata/EntityMetadata.d.ts +7 -3
- package/browser/metadata/EntityMetadata.js +8 -3
- package/browser/metadata/EntityMetadata.js.map +1 -1
- package/browser/metadata-args/TableMetadataArgs.d.ts +4 -0
- package/browser/metadata-args/TableMetadataArgs.js.map +1 -1
- package/browser/persistence/SubjectExecutor.js +1 -1
- package/browser/persistence/SubjectExecutor.js.map +1 -1
- package/browser/platform/BrowserPlatformTools.d.ts +0 -7
- package/browser/platform/BrowserPlatformTools.js +3 -2
- package/browser/platform/BrowserPlatformTools.js.map +1 -1
- package/browser/query-builder/InsertQueryBuilder.js +10 -1
- package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
- package/browser/query-builder/QueryBuilder.d.ts +5 -0
- package/browser/query-builder/QueryBuilder.js +35 -23
- package/browser/query-builder/QueryBuilder.js.map +1 -1
- package/browser/query-builder/QueryExpressionMap.d.ts +2 -1
- package/browser/query-builder/QueryExpressionMap.js +0 -4
- package/browser/query-builder/QueryExpressionMap.js.map +1 -1
- package/browser/query-builder/SelectQueryBuilder.js +5 -1
- package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
- package/browser/query-builder/WhereClause.d.ts +1 -1
- package/browser/query-builder/WhereClause.js.map +1 -1
- package/browser/query-builder/index.d.ts +1 -0
- package/browser/query-builder/index.js +17 -0
- package/browser/query-builder/index.js.map +1 -0
- package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +9 -0
- package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +28 -0
- package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
- package/browser/query-runner/BaseQueryRunner.js +1 -0
- package/browser/query-runner/BaseQueryRunner.js.map +1 -1
- package/browser/query-runner/QueryRunner.d.ts +4 -0
- package/browser/query-runner/QueryRunner.js.map +1 -1
- package/browser/schema-builder/RdbmsSchemaBuilder.d.ts +4 -0
- package/browser/schema-builder/RdbmsSchemaBuilder.js +15 -0
- package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
- package/browser/schema-builder/options/TableOptions.d.ts +4 -0
- package/browser/schema-builder/options/TableOptions.js.map +1 -1
- package/browser/schema-builder/table/Table.d.ts +4 -0
- package/browser/schema-builder/table/Table.js +3 -0
- package/browser/schema-builder/table/Table.js.map +1 -1
- package/browser/subscriber/Broadcaster.d.ts +10 -0
- package/browser/subscriber/Broadcaster.js +46 -0
- package/browser/subscriber/Broadcaster.js.map +1 -1
- package/browser/subscriber/EntitySubscriberInterface.d.ts +9 -0
- package/browser/subscriber/EntitySubscriberInterface.js.map +1 -1
- package/browser/subscriber/event/QueryEvent.d.ts +50 -0
- package/browser/subscriber/event/QueryEvent.js +3 -0
- package/browser/subscriber/event/QueryEvent.js.map +1 -0
- package/cache/DbQueryResultCache.js +3 -0
- package/cache/DbQueryResultCache.js.map +1 -1
- package/data-source/BaseDataSourceOptions.d.ts +4 -0
- package/data-source/BaseDataSourceOptions.js.map +1 -1
- package/data-source/DataSource.js +3 -0
- package/data-source/DataSource.js.map +1 -1
- package/decorator/entity/Entity.js +1 -0
- package/decorator/entity/Entity.js.map +1 -1
- package/decorator/options/EntityOptions.d.ts +4 -0
- package/decorator/options/EntityOptions.js.map +1 -1
- package/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts +4 -0
- package/driver/aurora-mysql/AuroraMysqlQueryRunner.js +15 -6
- package/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
- package/driver/aurora-postgres/AuroraPostgresQueryRunner.d.ts +5 -0
- package/driver/aurora-postgres/AuroraPostgresQueryRunner.js +16 -6
- package/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
- package/driver/capacitor/CapacitorDriver.js +2 -2
- package/driver/capacitor/CapacitorDriver.js.map +1 -1
- package/driver/capacitor/CapacitorQueryRunner.js +2 -2
- package/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
- package/driver/cockroachdb/CockroachDriver.js +20 -10
- package/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/driver/cockroachdb/CockroachQueryRunner.d.ts +10 -1
- package/driver/cockroachdb/CockroachQueryRunner.js +55 -19
- package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/driver/cordova/CordovaDriver.js +2 -2
- package/driver/cordova/CordovaDriver.js.map +1 -1
- package/driver/cordova/CordovaQueryRunner.js +8 -0
- package/driver/cordova/CordovaQueryRunner.js.map +1 -1
- package/driver/expo/ExpoQueryRunner.js +9 -2
- package/driver/expo/ExpoQueryRunner.js.map +1 -1
- package/driver/mongodb/MongoQueryRunner.d.ts +4 -0
- package/driver/mongodb/MongoQueryRunner.js +6 -0
- package/driver/mongodb/MongoQueryRunner.js.map +1 -1
- package/driver/mysql/MysqlQueryRunner.d.ts +4 -0
- package/driver/mysql/MysqlQueryRunner.js +47 -10
- package/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/driver/oracle/OracleConnectionOptions.d.ts +14 -0
- package/driver/oracle/OracleConnectionOptions.js.map +1 -1
- package/driver/oracle/OracleDriver.js +6 -0
- package/driver/oracle/OracleDriver.js.map +1 -1
- package/driver/oracle/OracleQueryRunner.d.ts +4 -0
- package/driver/oracle/OracleQueryRunner.js +21 -5
- package/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/driver/postgres/PostgresDriver.js +1 -4
- package/driver/postgres/PostgresDriver.js.map +1 -1
- package/driver/postgres/PostgresQueryRunner.d.ts +4 -0
- package/driver/postgres/PostgresQueryRunner.js +24 -7
- package/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/driver/react-native/ReactNativeQueryRunner.js +10 -2
- package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
- package/driver/sap/SapQueryRunner.d.ts +4 -0
- package/driver/sap/SapQueryRunner.js +28 -10
- package/driver/sap/SapQueryRunner.js.map +1 -1
- package/driver/spanner/SpannerQueryRunner.d.ts +4 -0
- package/driver/spanner/SpannerQueryRunner.js +13 -1
- package/driver/spanner/SpannerQueryRunner.js.map +1 -1
- package/driver/sqlite/SqliteDriver.js.map +1 -1
- package/driver/sqlite/SqliteQueryRunner.js +60 -46
- package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +4 -0
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +16 -7
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/driver/sqljs/SqljsQueryRunner.js +11 -3
- package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
- package/driver/sqlserver/SqlServerConnectionOptions.d.ts +0 -5
- package/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
- package/driver/sqlserver/SqlServerQueryRunner.d.ts +4 -0
- package/driver/sqlserver/SqlServerQueryRunner.js +19 -6
- package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/entity-manager/MongoEntityManager.js +4 -8
- package/entity-manager/MongoEntityManager.js.map +1 -1
- package/error/EntityNotFoundError.d.ts +2 -0
- package/error/EntityNotFoundError.js +2 -0
- package/error/EntityNotFoundError.js.map +1 -1
- package/find-options/FindOperatorType.d.ts +1 -1
- package/find-options/FindOperatorType.js.map +1 -1
- package/find-options/operator/Or.d.ts +2 -0
- package/find-options/operator/Or.js +10 -0
- package/find-options/operator/Or.js.map +1 -0
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/index.mjs +2 -0
- package/logger/AbstractLogger.js +1 -1
- package/logger/AbstractLogger.js.map +1 -1
- package/metadata/ColumnMetadata.js +4 -0
- package/metadata/ColumnMetadata.js.map +1 -1
- package/metadata/EntityMetadata.d.ts +7 -3
- package/metadata/EntityMetadata.js +8 -3
- package/metadata/EntityMetadata.js.map +1 -1
- package/metadata-args/TableMetadataArgs.d.ts +4 -0
- package/metadata-args/TableMetadataArgs.js.map +1 -1
- package/package.json +273 -1
- package/persistence/SubjectExecutor.js +1 -1
- package/persistence/SubjectExecutor.js.map +1 -1
- package/query-builder/InsertQueryBuilder.js +10 -1
- package/query-builder/InsertQueryBuilder.js.map +1 -1
- package/query-builder/QueryBuilder.d.ts +5 -0
- package/query-builder/QueryBuilder.js +35 -23
- package/query-builder/QueryBuilder.js.map +1 -1
- package/query-builder/QueryExpressionMap.d.ts +2 -1
- package/query-builder/QueryExpressionMap.js +0 -4
- package/query-builder/QueryExpressionMap.js.map +1 -1
- package/query-builder/SelectQueryBuilder.js +5 -1
- package/query-builder/SelectQueryBuilder.js.map +1 -1
- package/query-builder/WhereClause.d.ts +1 -1
- package/query-builder/WhereClause.js.map +1 -1
- package/query-builder/index.d.ts +1 -0
- package/query-builder/index.js +21 -0
- package/query-builder/index.js.map +1 -0
- package/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +9 -0
- package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +28 -0
- package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
- package/query-runner/BaseQueryRunner.js +1 -0
- package/query-runner/BaseQueryRunner.js.map +1 -1
- package/query-runner/QueryRunner.d.ts +4 -0
- package/query-runner/QueryRunner.js.map +1 -1
- package/schema-builder/RdbmsSchemaBuilder.d.ts +4 -0
- package/schema-builder/RdbmsSchemaBuilder.js +15 -0
- package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
- package/schema-builder/options/TableOptions.d.ts +4 -0
- package/schema-builder/options/TableOptions.js.map +1 -1
- package/schema-builder/table/Table.d.ts +4 -0
- package/schema-builder/table/Table.js +3 -0
- package/schema-builder/table/Table.js.map +1 -1
- package/subscriber/Broadcaster.d.ts +10 -0
- package/subscriber/Broadcaster.js +46 -0
- package/subscriber/Broadcaster.js.map +1 -1
- package/subscriber/EntitySubscriberInterface.d.ts +9 -0
- package/subscriber/EntitySubscriberInterface.js.map +1 -1
- package/subscriber/event/QueryEvent.d.ts +50 -0
- package/subscriber/event/QueryEvent.js +4 -0
- package/subscriber/event/QueryEvent.js.map +1 -0
|
@@ -16,6 +16,7 @@ import { VersionUtils } from "../../util/VersionUtils";
|
|
|
16
16
|
import { TypeORMError } from "../../error";
|
|
17
17
|
import { MetadataTableType } from "../types/MetadataTableType";
|
|
18
18
|
import { InstanceChecker } from "../../util/InstanceChecker";
|
|
19
|
+
import { BroadcasterResult } from "../../subscriber/BroadcasterResult";
|
|
19
20
|
/**
|
|
20
21
|
* Runs queries on a single mysql database connection.
|
|
21
22
|
*/
|
|
@@ -84,15 +85,16 @@ export class MysqlQueryRunner extends BaseQueryRunner {
|
|
|
84
85
|
throw err;
|
|
85
86
|
}
|
|
86
87
|
if (this.transactionDepth === 0) {
|
|
88
|
+
this.transactionDepth += 1;
|
|
87
89
|
if (isolationLevel) {
|
|
88
90
|
await this.query("SET TRANSACTION ISOLATION LEVEL " + isolationLevel);
|
|
89
91
|
}
|
|
90
92
|
await this.query("START TRANSACTION");
|
|
91
93
|
}
|
|
92
94
|
else {
|
|
93
|
-
|
|
95
|
+
this.transactionDepth += 1;
|
|
96
|
+
await this.query(`SAVEPOINT typeorm_${this.transactionDepth - 1}`);
|
|
94
97
|
}
|
|
95
|
-
this.transactionDepth += 1;
|
|
96
98
|
await this.broadcaster.broadcast("AfterTransactionStart");
|
|
97
99
|
}
|
|
98
100
|
/**
|
|
@@ -104,13 +106,14 @@ export class MysqlQueryRunner extends BaseQueryRunner {
|
|
|
104
106
|
throw new TransactionNotStartedError();
|
|
105
107
|
await this.broadcaster.broadcast("BeforeTransactionCommit");
|
|
106
108
|
if (this.transactionDepth > 1) {
|
|
107
|
-
|
|
109
|
+
this.transactionDepth -= 1;
|
|
110
|
+
await this.query(`RELEASE SAVEPOINT typeorm_${this.transactionDepth}`);
|
|
108
111
|
}
|
|
109
112
|
else {
|
|
113
|
+
this.transactionDepth -= 1;
|
|
110
114
|
await this.query("COMMIT");
|
|
111
115
|
this.isTransactionActive = false;
|
|
112
116
|
}
|
|
113
|
-
this.transactionDepth -= 1;
|
|
114
117
|
await this.broadcaster.broadcast("AfterTransactionCommit");
|
|
115
118
|
}
|
|
116
119
|
/**
|
|
@@ -122,13 +125,14 @@ export class MysqlQueryRunner extends BaseQueryRunner {
|
|
|
122
125
|
throw new TransactionNotStartedError();
|
|
123
126
|
await this.broadcaster.broadcast("BeforeTransactionRollback");
|
|
124
127
|
if (this.transactionDepth > 1) {
|
|
125
|
-
|
|
128
|
+
this.transactionDepth -= 1;
|
|
129
|
+
await this.query(`ROLLBACK TO SAVEPOINT typeorm_${this.transactionDepth}`);
|
|
126
130
|
}
|
|
127
131
|
else {
|
|
132
|
+
this.transactionDepth -= 1;
|
|
128
133
|
await this.query("ROLLBACK");
|
|
129
134
|
this.isTransactionActive = false;
|
|
130
135
|
}
|
|
131
|
-
this.transactionDepth -= 1;
|
|
132
136
|
await this.broadcaster.broadcast("AfterTransactionRollback");
|
|
133
137
|
}
|
|
134
138
|
/**
|
|
@@ -138,11 +142,13 @@ export class MysqlQueryRunner extends BaseQueryRunner {
|
|
|
138
142
|
if (this.isReleased)
|
|
139
143
|
throw new QueryRunnerAlreadyReleasedError();
|
|
140
144
|
return new Promise(async (ok, fail) => {
|
|
145
|
+
const broadcasterResult = new BroadcasterResult();
|
|
141
146
|
try {
|
|
142
147
|
const databaseConnection = await this.connect();
|
|
143
148
|
this.driver.connection.logger.logQuery(query, parameters, this);
|
|
149
|
+
this.broadcaster.broadcastBeforeQueryEvent(broadcasterResult, query, parameters);
|
|
144
150
|
const queryStartTime = +new Date();
|
|
145
|
-
databaseConnection.query(query, parameters, (err, raw) => {
|
|
151
|
+
databaseConnection.query(query, parameters, async (err, raw) => {
|
|
146
152
|
// log slow queries if maxQueryExecution time is set
|
|
147
153
|
const maxQueryExecutionTime = this.driver.options.maxQueryExecutionTime;
|
|
148
154
|
const queryEndTime = +new Date();
|
|
@@ -152,8 +158,10 @@ export class MysqlQueryRunner extends BaseQueryRunner {
|
|
|
152
158
|
this.driver.connection.logger.logQuerySlow(queryExecutionTime, query, parameters, this);
|
|
153
159
|
if (err) {
|
|
154
160
|
this.driver.connection.logger.logQueryError(err, query, parameters, this);
|
|
161
|
+
this.broadcaster.broadcastAfterQueryEvent(broadcasterResult, query, parameters, false, undefined, undefined, err);
|
|
155
162
|
return fail(new QueryFailedError(query, parameters, err));
|
|
156
163
|
}
|
|
164
|
+
this.broadcaster.broadcastAfterQueryEvent(broadcasterResult, query, parameters, true, queryExecutionTime, raw, undefined);
|
|
157
165
|
const result = new QueryResult();
|
|
158
166
|
result.raw = raw;
|
|
159
167
|
try {
|
|
@@ -176,6 +184,9 @@ export class MysqlQueryRunner extends BaseQueryRunner {
|
|
|
176
184
|
catch (err) {
|
|
177
185
|
fail(err);
|
|
178
186
|
}
|
|
187
|
+
finally {
|
|
188
|
+
await broadcasterResult.wait();
|
|
189
|
+
}
|
|
179
190
|
});
|
|
180
191
|
}
|
|
181
192
|
/**
|
|
@@ -488,6 +499,28 @@ export class MysqlQueryRunner extends BaseQueryRunner {
|
|
|
488
499
|
oldTable.name = newTable.name;
|
|
489
500
|
this.replaceCachedTable(oldTable, newTable);
|
|
490
501
|
}
|
|
502
|
+
/**
|
|
503
|
+
* Change table comment.
|
|
504
|
+
*/
|
|
505
|
+
async changeTableComment(tableOrName, newComment) {
|
|
506
|
+
const upQueries = [];
|
|
507
|
+
const downQueries = [];
|
|
508
|
+
const table = InstanceChecker.isTable(tableOrName)
|
|
509
|
+
? tableOrName
|
|
510
|
+
: await this.getCachedTable(tableOrName);
|
|
511
|
+
newComment = this.escapeComment(newComment);
|
|
512
|
+
const comment = this.escapeComment(table.comment);
|
|
513
|
+
if (newComment === comment) {
|
|
514
|
+
return;
|
|
515
|
+
}
|
|
516
|
+
const newTable = table.clone();
|
|
517
|
+
upQueries.push(new Query(`ALTER TABLE ${this.escapePath(newTable)} COMMENT ${newComment}`));
|
|
518
|
+
downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} COMMENT ${comment}`));
|
|
519
|
+
await this.executeQueries(upQueries, downQueries);
|
|
520
|
+
// change table comment and replace it in cached tabled;
|
|
521
|
+
table.comment = newTable.comment;
|
|
522
|
+
this.replaceCachedTable(table, newTable);
|
|
523
|
+
}
|
|
491
524
|
/**
|
|
492
525
|
* Creates a new column from the column in the table.
|
|
493
526
|
*/
|
|
@@ -1367,7 +1400,7 @@ export class MysqlQueryRunner extends BaseQueryRunner {
|
|
|
1367
1400
|
const dbTables = [];
|
|
1368
1401
|
if (!tableNames) {
|
|
1369
1402
|
// Since we don't have any of this data we have to do a scan
|
|
1370
|
-
const tablesSql = `SELECT \`TABLE_SCHEMA\`, \`TABLE_NAME\` FROM \`INFORMATION_SCHEMA\`.\`TABLES\``;
|
|
1403
|
+
const tablesSql = `SELECT \`TABLE_SCHEMA\`, \`TABLE_NAME\`, \`TABLE_COMMENT\` FROM \`INFORMATION_SCHEMA\`.\`TABLES\``;
|
|
1371
1404
|
dbTables.push(...(await this.query(tablesSql)));
|
|
1372
1405
|
}
|
|
1373
1406
|
else {
|
|
@@ -1381,7 +1414,7 @@ export class MysqlQueryRunner extends BaseQueryRunner {
|
|
|
1381
1414
|
if (!database) {
|
|
1382
1415
|
database = currentDatabase;
|
|
1383
1416
|
}
|
|
1384
|
-
return `SELECT \`TABLE_SCHEMA\`, \`TABLE_NAME\` FROM \`INFORMATION_SCHEMA\`.\`TABLES\` WHERE \`TABLE_SCHEMA\` = '${database}' AND \`TABLE_NAME\` = '${name}'`;
|
|
1417
|
+
return `SELECT \`TABLE_SCHEMA\`, \`TABLE_NAME\`, \`TABLE_COMMENT\` FROM \`INFORMATION_SCHEMA\`.\`TABLES\` WHERE \`TABLE_SCHEMA\` = '${database}' AND \`TABLE_NAME\` = '${name}'`;
|
|
1385
1418
|
})
|
|
1386
1419
|
.join(" UNION ");
|
|
1387
1420
|
dbTables.push(...(await this.query(tablesSql)));
|
|
@@ -1613,7 +1646,7 @@ export class MysqlQueryRunner extends BaseQueryRunner {
|
|
|
1613
1646
|
? "VIRTUAL"
|
|
1614
1647
|
: "STORED";
|
|
1615
1648
|
// We cannot relay on information_schema.columns.generation_expression, because it is formatted different.
|
|
1616
|
-
const asExpressionQuery =
|
|
1649
|
+
const asExpressionQuery = this.selectTypeormMetadataSql({
|
|
1617
1650
|
schema: dbTable["TABLE_SCHEMA"],
|
|
1618
1651
|
table: dbTable["TABLE_NAME"],
|
|
1619
1652
|
type: MetadataTableType.GENERATED_COLUMN,
|
|
@@ -1756,6 +1789,7 @@ export class MysqlQueryRunner extends BaseQueryRunner {
|
|
|
1756
1789
|
isFulltext: constraint["INDEX_TYPE"] === "FULLTEXT",
|
|
1757
1790
|
});
|
|
1758
1791
|
});
|
|
1792
|
+
table.comment = dbTable["TABLE_COMMENT"];
|
|
1759
1793
|
return table;
|
|
1760
1794
|
}));
|
|
1761
1795
|
}
|
|
@@ -1852,6 +1886,9 @@ export class MysqlQueryRunner extends BaseQueryRunner {
|
|
|
1852
1886
|
sql += `, PRIMARY KEY (${columnNames})`;
|
|
1853
1887
|
}
|
|
1854
1888
|
sql += `) ENGINE=${table.engine || "InnoDB"}`;
|
|
1889
|
+
if (table.comment) {
|
|
1890
|
+
sql += ` COMMENT="${table.comment}"`;
|
|
1891
|
+
}
|
|
1855
1892
|
return new Query(sql);
|
|
1856
1893
|
}
|
|
1857
1894
|
/**
|