typeorm 0.3.26-dev.bdb8326 → 0.3.26-dev.f351757

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 (191) hide show
  1. package/README.md +2 -5
  2. package/browser/connection/ConnectionOptionsReader.js +1 -1
  3. package/browser/connection/ConnectionOptionsReader.js.map +1 -1
  4. package/browser/connection/options-reader/ConnectionOptionsEnvReader.d.ts +1 -1
  5. package/browser/connection/options-reader/ConnectionOptionsEnvReader.js +1 -1
  6. package/browser/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  7. package/browser/driver/aurora-mysql/AuroraMysqlDriver.d.ts +1 -1
  8. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js +12 -21
  9. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  10. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js +2 -2
  11. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  12. package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js +3 -3
  13. package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  14. package/browser/driver/cockroachdb/CockroachQueryRunner.js +4 -4
  15. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  16. package/browser/driver/cordova/CordovaQueryRunner.js +1 -1
  17. package/browser/driver/cordova/CordovaQueryRunner.js.map +1 -1
  18. package/browser/driver/expo/legacy/ExpoLegacyQueryRunner.js +1 -1
  19. package/browser/driver/expo/legacy/ExpoLegacyQueryRunner.js.map +1 -1
  20. package/browser/driver/mongodb/MongoDriver.d.ts +1 -1
  21. package/browser/driver/mongodb/bson.typings.d.ts +0 -4
  22. package/browser/driver/mongodb/bson.typings.js +1 -1
  23. package/browser/driver/mongodb/bson.typings.js.map +1 -1
  24. package/browser/driver/mongodb/typings.d.ts +7 -10
  25. package/browser/driver/mongodb/typings.js +2 -2
  26. package/browser/driver/mongodb/typings.js.map +1 -1
  27. package/browser/driver/mysql/MysqlDriver.d.ts +1 -1
  28. package/browser/driver/mysql/MysqlQueryRunner.js +4 -4
  29. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  30. package/browser/driver/nativescript/NativescriptQueryRunner.js +1 -1
  31. package/browser/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  32. package/browser/driver/oracle/OracleDriver.js +0 -5
  33. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  34. package/browser/driver/oracle/OracleQueryRunner.js +1 -1
  35. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  36. package/browser/driver/postgres/PostgresDriver.js +1 -3
  37. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  38. package/browser/driver/postgres/PostgresQueryRunner.js +4 -4
  39. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  40. package/browser/driver/react-native/ReactNativeDriver.d.ts +1 -1
  41. package/browser/driver/react-native/ReactNativeQueryRunner.js +1 -1
  42. package/browser/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  43. package/browser/driver/sap/SapConnectionOptions.d.ts +33 -8
  44. package/browser/driver/sap/SapConnectionOptions.js.map +1 -1
  45. package/browser/driver/sap/SapDriver.d.ts +21 -22
  46. package/browser/driver/sap/SapDriver.js +127 -115
  47. package/browser/driver/sap/SapDriver.js.map +1 -1
  48. package/browser/driver/sap/SapQueryRunner.js +59 -63
  49. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  50. package/browser/driver/spanner/SpannerDriver.d.ts +1 -1
  51. package/browser/driver/spanner/SpannerQueryRunner.js +3 -3
  52. package/browser/driver/spanner/SpannerQueryRunner.js.map +1 -1
  53. package/browser/driver/sqlite/SqliteDriver.js +1 -1
  54. package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
  55. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +2 -2
  56. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js +1 -1
  57. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  58. package/browser/driver/sqljs/SqljsDriver.d.ts +2 -1
  59. package/browser/driver/sqlserver/SqlServerQueryRunner.js +1 -1
  60. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  61. package/browser/driver/types/ColumnTypes.d.ts +1 -1
  62. package/browser/driver/types/ColumnTypes.js.map +1 -1
  63. package/browser/entity-manager/MongoEntityManager.js +3 -3
  64. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  65. package/browser/logger/FormattedConsoleLogger.js +1 -1
  66. package/browser/logger/FormattedConsoleLogger.js.map +1 -1
  67. package/browser/metadata/ColumnMetadata.d.ts +1 -1
  68. package/browser/metadata/ColumnMetadata.js.map +1 -1
  69. package/browser/metadata-builder/EntityMetadataBuilder.js +8 -1
  70. package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  71. package/browser/metadata-builder/EntityMetadataValidator.js +2 -4
  72. package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
  73. package/browser/persistence/SubjectExecutor.js +4 -10
  74. package/browser/persistence/SubjectExecutor.js.map +1 -1
  75. package/browser/persistence/SubjectTopologicalSorter.js +5 -4
  76. package/browser/persistence/SubjectTopologicalSorter.js.map +1 -1
  77. package/browser/platform/PlatformTools.js +0 -2
  78. package/browser/platform/PlatformTools.js.map +1 -1
  79. package/browser/query-builder/QueryExpressionMap.js +1 -0
  80. package/browser/query-builder/QueryExpressionMap.js.map +1 -1
  81. package/browser/query-builder/RelationLoader.js +2 -0
  82. package/browser/query-builder/RelationLoader.js.map +1 -1
  83. package/browser/query-builder/SelectQueryBuilder.d.ts +1 -0
  84. package/browser/query-builder/SelectQueryBuilder.js +43 -5
  85. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  86. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  87. package/browser/query-runner/QueryLock.js +1 -0
  88. package/browser/query-runner/QueryLock.js.map +1 -1
  89. package/browser/util/ImportUtils.d.ts +1 -1
  90. package/browser/util/ImportUtils.js +2 -1
  91. package/browser/util/ImportUtils.js.map +1 -1
  92. package/browser/util/OrmUtils.d.ts +7 -10
  93. package/browser/util/OrmUtils.js +22 -31
  94. package/browser/util/OrmUtils.js.map +1 -1
  95. package/cli.js +3 -1
  96. package/cli.js.map +1 -1
  97. package/connection/ConnectionOptionsReader.js +1 -1
  98. package/connection/ConnectionOptionsReader.js.map +1 -1
  99. package/connection/options-reader/ConnectionOptionsEnvReader.d.ts +1 -1
  100. package/connection/options-reader/ConnectionOptionsEnvReader.js +1 -1
  101. package/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  102. package/driver/aurora-mysql/AuroraMysqlDriver.d.ts +1 -1
  103. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js +12 -21
  104. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  105. package/driver/better-sqlite3/BetterSqlite3Driver.js +2 -2
  106. package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  107. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js +3 -3
  108. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  109. package/driver/cockroachdb/CockroachQueryRunner.js +4 -4
  110. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  111. package/driver/cordova/CordovaQueryRunner.js +1 -1
  112. package/driver/cordova/CordovaQueryRunner.js.map +1 -1
  113. package/driver/expo/legacy/ExpoLegacyQueryRunner.js +1 -1
  114. package/driver/expo/legacy/ExpoLegacyQueryRunner.js.map +1 -1
  115. package/driver/mongodb/MongoDriver.d.ts +1 -1
  116. package/driver/mongodb/bson.typings.d.ts +0 -4
  117. package/driver/mongodb/bson.typings.js +0 -1
  118. package/driver/mongodb/bson.typings.js.map +1 -1
  119. package/driver/mongodb/typings.d.ts +7 -10
  120. package/driver/mongodb/typings.js +3 -2
  121. package/driver/mongodb/typings.js.map +1 -1
  122. package/driver/mysql/MysqlDriver.d.ts +1 -1
  123. package/driver/mysql/MysqlQueryRunner.js +4 -4
  124. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  125. package/driver/nativescript/NativescriptQueryRunner.js +1 -1
  126. package/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  127. package/driver/oracle/OracleDriver.js +0 -5
  128. package/driver/oracle/OracleDriver.js.map +1 -1
  129. package/driver/oracle/OracleQueryRunner.js +1 -1
  130. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  131. package/driver/postgres/PostgresDriver.js +1 -3
  132. package/driver/postgres/PostgresDriver.js.map +1 -1
  133. package/driver/postgres/PostgresQueryRunner.js +4 -4
  134. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  135. package/driver/react-native/ReactNativeDriver.d.ts +1 -1
  136. package/driver/react-native/ReactNativeQueryRunner.js +1 -1
  137. package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  138. package/driver/sap/SapConnectionOptions.d.ts +33 -8
  139. package/driver/sap/SapConnectionOptions.js.map +1 -1
  140. package/driver/sap/SapDriver.d.ts +21 -22
  141. package/driver/sap/SapDriver.js +127 -115
  142. package/driver/sap/SapDriver.js.map +1 -1
  143. package/driver/sap/SapQueryRunner.js +64 -68
  144. package/driver/sap/SapQueryRunner.js.map +1 -1
  145. package/driver/spanner/SpannerDriver.d.ts +1 -1
  146. package/driver/spanner/SpannerQueryRunner.js +3 -3
  147. package/driver/spanner/SpannerQueryRunner.js.map +1 -1
  148. package/driver/sqlite/SqliteDriver.js +1 -1
  149. package/driver/sqlite/SqliteDriver.js.map +1 -1
  150. package/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +2 -2
  151. package/driver/sqlite-abstract/AbstractSqliteDriver.js +1 -1
  152. package/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  153. package/driver/sqljs/SqljsDriver.d.ts +2 -1
  154. package/driver/sqlserver/SqlServerQueryRunner.js +1 -1
  155. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  156. package/driver/types/ColumnTypes.d.ts +1 -1
  157. package/driver/types/ColumnTypes.js.map +1 -1
  158. package/entity-manager/MongoEntityManager.js +3 -3
  159. package/entity-manager/MongoEntityManager.js.map +1 -1
  160. package/index.mjs +2 -2
  161. package/logger/FormattedConsoleLogger.js +1 -1
  162. package/logger/FormattedConsoleLogger.js.map +1 -1
  163. package/metadata/ColumnMetadata.d.ts +1 -1
  164. package/metadata/ColumnMetadata.js.map +1 -1
  165. package/metadata-builder/EntityMetadataBuilder.js +8 -1
  166. package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  167. package/metadata-builder/EntityMetadataValidator.js +2 -4
  168. package/metadata-builder/EntityMetadataValidator.js.map +1 -1
  169. package/package.json +1 -1
  170. package/persistence/SubjectExecutor.js +4 -10
  171. package/persistence/SubjectExecutor.js.map +1 -1
  172. package/persistence/SubjectTopologicalSorter.js +5 -4
  173. package/persistence/SubjectTopologicalSorter.js.map +1 -1
  174. package/platform/PlatformTools.js +0 -2
  175. package/platform/PlatformTools.js.map +1 -1
  176. package/query-builder/QueryExpressionMap.js +1 -0
  177. package/query-builder/QueryExpressionMap.js.map +1 -1
  178. package/query-builder/RelationLoader.js +2 -0
  179. package/query-builder/RelationLoader.js.map +1 -1
  180. package/query-builder/SelectQueryBuilder.d.ts +1 -0
  181. package/query-builder/SelectQueryBuilder.js +43 -5
  182. package/query-builder/SelectQueryBuilder.js.map +1 -1
  183. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  184. package/query-runner/QueryLock.js +1 -0
  185. package/query-runner/QueryLock.js.map +1 -1
  186. package/util/ImportUtils.d.ts +1 -1
  187. package/util/ImportUtils.js +2 -1
  188. package/util/ImportUtils.js.map +1 -1
  189. package/util/OrmUtils.d.ts +7 -10
  190. package/util/OrmUtils.js +22 -31
  191. package/util/OrmUtils.js.map +1 -1
package/README.md CHANGED
@@ -8,8 +8,8 @@
8
8
  </a>
9
9
  <br>
10
10
  <br>
11
- <a href="https://github.com/typeorm/typeorm/actions/workflows/test.yml">
12
- <img src="https://github.com/typeorm/typeorm/actions/workflows/test.yml/badge.svg?branch=master">
11
+ <a href="https://github.com/typeorm/typeorm/actions/workflows/commit-validation.yml">
12
+ <img src="https://github.com/typeorm/typeorm/actions/workflows/commit-validation.yml/badge.svg?branch=master">
13
13
  </a>
14
14
  <a href="https://badge.fury.io/js/typeorm">
15
15
  <img src="https://badge.fury.io/js/typeorm.svg">
@@ -215,11 +215,8 @@ await timber.remove()
215
215
 
216
216
  ```
217
217
  npm install @sap/hana-client
218
- npm install hdb-pool
219
218
  ```
220
219
 
221
- _SAP Hana support made possible by the sponsorship of [Neptune Software](https://www.neptune-software.com/)._
222
-
223
220
  - for **Google Cloud Spanner**
224
221
 
225
222
  ```
@@ -90,7 +90,7 @@ export class ConnectionOptionsReader {
90
90
  // try to find connection options from any of available sources of configuration
91
91
  if (PlatformTools.getEnvVariable("TYPEORM_CONNECTION") ||
92
92
  PlatformTools.getEnvVariable("TYPEORM_URL")) {
93
- connectionOptions = await new ConnectionOptionsEnvReader().read();
93
+ connectionOptions = new ConnectionOptionsEnvReader().read();
94
94
  }
95
95
  else if (foundFileFormat === "js" ||
96
96
  foundFileFormat === "mjs" ||
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/connection/ConnectionOptionsReader.ts"],"names":[],"mappings":"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","file":"ConnectionOptionsReader.js","sourcesContent":["import appRootPath from \"app-root-path\"\nimport path from \"path\"\n\nimport { DataSourceOptions } from \"../data-source/DataSourceOptions\"\nimport { TypeORMError } from \"../error\"\nimport { PlatformTools } from \"../platform/PlatformTools\"\nimport { importOrRequireFile } from \"../util/ImportUtils\"\nimport { isAbsolute } from \"../util/PathUtils\"\nimport { ConnectionOptionsEnvReader } from \"./options-reader/ConnectionOptionsEnvReader\"\n\n/**\n * Reads connection options from the ormconfig.\n */\nexport class ConnectionOptionsReader {\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(\n protected options?: {\n /**\n * Directory where ormconfig should be read from.\n * By default its your application root (where your app package.json is located).\n */\n root?: string\n\n /**\n * Filename of the ormconfig configuration. By default its equal to \"ormconfig\".\n */\n configName?: string\n },\n ) {}\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Returns all connection options read from the ormconfig.\n */\n async all(): Promise<DataSourceOptions[]> {\n const options = await this.load()\n if (!options)\n throw new TypeORMError(\n `No connection options were found in any orm configuration files.`,\n )\n\n return options\n }\n\n /**\n * Gets a connection with a given name read from ormconfig.\n * If connection with such name would not be found then it throw error.\n */\n async get(name: string): Promise<DataSourceOptions> {\n const allOptions = await this.all()\n const targetOptions = allOptions.find(\n (options) =>\n options.name === name || (name === \"default\" && !options.name),\n )\n if (!targetOptions)\n throw new TypeORMError(\n `Cannot find connection ${name} because its not defined in any orm configuration files.`,\n )\n\n return targetOptions\n }\n\n /**\n * Checks if there is a TypeORM configuration file.\n */\n async has(name: string): Promise<boolean> {\n const allOptions = await this.load()\n if (!allOptions) return false\n\n const targetOptions = allOptions.find(\n (options) =>\n options.name === name || (name === \"default\" && !options.name),\n )\n return !!targetOptions\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Loads all connection options from a configuration file.\n *\n * todo: get in count NODE_ENV somehow\n */\n protected async load(): Promise<DataSourceOptions[] | undefined> {\n let connectionOptions:\n | DataSourceOptions\n | DataSourceOptions[]\n | undefined = undefined\n\n const fileFormats = [\n \"env\",\n \"js\",\n \"mjs\",\n \"cjs\",\n \"ts\",\n \"mts\",\n \"cts\",\n \"json\",\n ]\n\n // Detect if baseFilePath contains file extension\n const possibleExtension = this.baseFilePath.substr(\n this.baseFilePath.lastIndexOf(\".\"),\n )\n const fileExtension = fileFormats.find(\n (extension) => `.${extension}` === possibleExtension,\n )\n\n // try to find any of following configuration formats\n const foundFileFormat =\n fileExtension ||\n fileFormats.find((format) => {\n return PlatformTools.fileExist(this.baseFilePath + \".\" + format)\n })\n\n // Determine config file name\n const configFile = fileExtension\n ? this.baseFilePath\n : this.baseFilePath + \".\" + foundFileFormat\n\n // if .env file found then load all its variables into process.env using dotenv package\n if (foundFileFormat === \"env\") {\n PlatformTools.dotenv(configFile)\n } else if (PlatformTools.fileExist(this.baseDirectory + \"/.env\")) {\n PlatformTools.dotenv(this.baseDirectory + \"/.env\")\n }\n\n // try to find connection options from any of available sources of configuration\n if (\n PlatformTools.getEnvVariable(\"TYPEORM_CONNECTION\") ||\n PlatformTools.getEnvVariable(\"TYPEORM_URL\")\n ) {\n connectionOptions = await new ConnectionOptionsEnvReader().read()\n } else if (\n foundFileFormat === \"js\" ||\n foundFileFormat === \"mjs\" ||\n foundFileFormat === \"cjs\" ||\n foundFileFormat === \"ts\" ||\n foundFileFormat === \"mts\" ||\n foundFileFormat === \"cts\"\n ) {\n const [importOrRequireResult, moduleSystem] =\n await importOrRequireFile(configFile)\n const configModule = await importOrRequireResult\n\n if (\n moduleSystem === \"esm\" ||\n (configModule &&\n \"__esModule\" in configModule &&\n \"default\" in configModule)\n ) {\n connectionOptions = configModule.default\n } else {\n connectionOptions = configModule\n }\n } else if (foundFileFormat === \"json\") {\n connectionOptions = require(configFile)\n }\n\n // normalize and return connection options\n if (connectionOptions) {\n return this.normalizeConnectionOptions(connectionOptions)\n }\n\n return undefined\n }\n\n /**\n * Normalize connection options.\n */\n protected normalizeConnectionOptions(\n connectionOptions: DataSourceOptions | DataSourceOptions[],\n ): DataSourceOptions[] {\n if (!Array.isArray(connectionOptions))\n connectionOptions = [connectionOptions]\n\n connectionOptions.forEach((options) => {\n options.baseDirectory = this.baseDirectory\n if (options.entities) {\n const entities = (options.entities as any[]).map((entity) => {\n if (\n typeof entity === \"string\" &&\n entity.substr(0, 1) !== \"/\"\n )\n return this.baseDirectory + \"/\" + entity\n\n return entity\n })\n Object.assign(connectionOptions, { entities: entities })\n }\n if (options.subscribers) {\n const subscribers = (options.subscribers as any[]).map(\n (subscriber) => {\n if (\n typeof subscriber === \"string\" &&\n subscriber.substr(0, 1) !== \"/\"\n )\n return this.baseDirectory + \"/\" + subscriber\n\n return subscriber\n },\n )\n Object.assign(connectionOptions, { subscribers: subscribers })\n }\n if (options.migrations) {\n const migrations = (options.migrations as any[]).map(\n (migration) => {\n if (\n typeof migration === \"string\" &&\n migration.substr(0, 1) !== \"/\"\n )\n return this.baseDirectory + \"/\" + migration\n\n return migration\n },\n )\n Object.assign(connectionOptions, { migrations: migrations })\n }\n\n // make database path file in sqlite relative to package.json\n if (\n options.type === \"sqlite\" ||\n options.type === \"better-sqlite3\"\n ) {\n if (\n typeof options.database === \"string\" &&\n !isAbsolute(options.database) &&\n options.database.substr(0, 1) !== \"/\" && // unix absolute\n options.database.substr(1, 2) !== \":\\\\\" && // windows absolute\n options.database !== \":memory:\"\n ) {\n Object.assign(options, {\n database: this.baseDirectory + \"/\" + options.database,\n })\n }\n }\n })\n\n return connectionOptions\n }\n\n /**\n * Gets directory where configuration file should be located and configuration file name.\n */\n protected get baseFilePath(): string {\n return path.resolve(this.baseDirectory, this.baseConfigName)\n }\n\n /**\n * Gets directory where configuration file should be located.\n */\n protected get baseDirectory(): string {\n return this.options?.root ?? appRootPath.path\n }\n\n /**\n * Gets configuration file name.\n */\n protected get baseConfigName(): string {\n return this.options?.configName ?? \"ormconfig\"\n }\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../browser/src/connection/ConnectionOptionsReader.ts"],"names":[],"mappings":"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","file":"ConnectionOptionsReader.js","sourcesContent":["import appRootPath from \"app-root-path\"\nimport path from \"path\"\n\nimport { DataSourceOptions } from \"../data-source/DataSourceOptions\"\nimport { TypeORMError } from \"../error\"\nimport { PlatformTools } from \"../platform/PlatformTools\"\nimport { importOrRequireFile } from \"../util/ImportUtils\"\nimport { isAbsolute } from \"../util/PathUtils\"\nimport { ConnectionOptionsEnvReader } from \"./options-reader/ConnectionOptionsEnvReader\"\n\n/**\n * Reads connection options from the ormconfig.\n */\nexport class ConnectionOptionsReader {\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(\n protected options?: {\n /**\n * Directory where ormconfig should be read from.\n * By default its your application root (where your app package.json is located).\n */\n root?: string\n\n /**\n * Filename of the ormconfig configuration. By default its equal to \"ormconfig\".\n */\n configName?: string\n },\n ) {}\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Returns all connection options read from the ormconfig.\n */\n async all(): Promise<DataSourceOptions[]> {\n const options = await this.load()\n if (!options)\n throw new TypeORMError(\n `No connection options were found in any orm configuration files.`,\n )\n\n return options\n }\n\n /**\n * Gets a connection with a given name read from ormconfig.\n * If connection with such name would not be found then it throw error.\n */\n async get(name: string): Promise<DataSourceOptions> {\n const allOptions = await this.all()\n const targetOptions = allOptions.find(\n (options) =>\n options.name === name || (name === \"default\" && !options.name),\n )\n if (!targetOptions)\n throw new TypeORMError(\n `Cannot find connection ${name} because its not defined in any orm configuration files.`,\n )\n\n return targetOptions\n }\n\n /**\n * Checks if there is a TypeORM configuration file.\n */\n async has(name: string): Promise<boolean> {\n const allOptions = await this.load()\n if (!allOptions) return false\n\n const targetOptions = allOptions.find(\n (options) =>\n options.name === name || (name === \"default\" && !options.name),\n )\n return !!targetOptions\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Loads all connection options from a configuration file.\n *\n * todo: get in count NODE_ENV somehow\n */\n protected async load(): Promise<DataSourceOptions[] | undefined> {\n let connectionOptions:\n | DataSourceOptions\n | DataSourceOptions[]\n | undefined = undefined\n\n const fileFormats = [\n \"env\",\n \"js\",\n \"mjs\",\n \"cjs\",\n \"ts\",\n \"mts\",\n \"cts\",\n \"json\",\n ]\n\n // Detect if baseFilePath contains file extension\n const possibleExtension = this.baseFilePath.substr(\n this.baseFilePath.lastIndexOf(\".\"),\n )\n const fileExtension = fileFormats.find(\n (extension) => `.${extension}` === possibleExtension,\n )\n\n // try to find any of following configuration formats\n const foundFileFormat =\n fileExtension ||\n fileFormats.find((format) => {\n return PlatformTools.fileExist(this.baseFilePath + \".\" + format)\n })\n\n // Determine config file name\n const configFile = fileExtension\n ? this.baseFilePath\n : this.baseFilePath + \".\" + foundFileFormat\n\n // if .env file found then load all its variables into process.env using dotenv package\n if (foundFileFormat === \"env\") {\n PlatformTools.dotenv(configFile)\n } else if (PlatformTools.fileExist(this.baseDirectory + \"/.env\")) {\n PlatformTools.dotenv(this.baseDirectory + \"/.env\")\n }\n\n // try to find connection options from any of available sources of configuration\n if (\n PlatformTools.getEnvVariable(\"TYPEORM_CONNECTION\") ||\n PlatformTools.getEnvVariable(\"TYPEORM_URL\")\n ) {\n connectionOptions = new ConnectionOptionsEnvReader().read()\n } else if (\n foundFileFormat === \"js\" ||\n foundFileFormat === \"mjs\" ||\n foundFileFormat === \"cjs\" ||\n foundFileFormat === \"ts\" ||\n foundFileFormat === \"mts\" ||\n foundFileFormat === \"cts\"\n ) {\n const [importOrRequireResult, moduleSystem] =\n await importOrRequireFile(configFile)\n const configModule = await importOrRequireResult\n\n if (\n moduleSystem === \"esm\" ||\n (configModule &&\n \"__esModule\" in configModule &&\n \"default\" in configModule)\n ) {\n connectionOptions = configModule.default\n } else {\n connectionOptions = configModule\n }\n } else if (foundFileFormat === \"json\") {\n connectionOptions = require(configFile)\n }\n\n // normalize and return connection options\n if (connectionOptions) {\n return this.normalizeConnectionOptions(connectionOptions)\n }\n\n return undefined\n }\n\n /**\n * Normalize connection options.\n */\n protected normalizeConnectionOptions(\n connectionOptions: DataSourceOptions | DataSourceOptions[],\n ): DataSourceOptions[] {\n if (!Array.isArray(connectionOptions))\n connectionOptions = [connectionOptions]\n\n connectionOptions.forEach((options) => {\n options.baseDirectory = this.baseDirectory\n if (options.entities) {\n const entities = (options.entities as any[]).map((entity) => {\n if (\n typeof entity === \"string\" &&\n entity.substr(0, 1) !== \"/\"\n )\n return this.baseDirectory + \"/\" + entity\n\n return entity\n })\n Object.assign(connectionOptions, { entities: entities })\n }\n if (options.subscribers) {\n const subscribers = (options.subscribers as any[]).map(\n (subscriber) => {\n if (\n typeof subscriber === \"string\" &&\n subscriber.substr(0, 1) !== \"/\"\n )\n return this.baseDirectory + \"/\" + subscriber\n\n return subscriber\n },\n )\n Object.assign(connectionOptions, { subscribers: subscribers })\n }\n if (options.migrations) {\n const migrations = (options.migrations as any[]).map(\n (migration) => {\n if (\n typeof migration === \"string\" &&\n migration.substr(0, 1) !== \"/\"\n )\n return this.baseDirectory + \"/\" + migration\n\n return migration\n },\n )\n Object.assign(connectionOptions, { migrations: migrations })\n }\n\n // make database path file in sqlite relative to package.json\n if (\n options.type === \"sqlite\" ||\n options.type === \"better-sqlite3\"\n ) {\n if (\n typeof options.database === \"string\" &&\n !isAbsolute(options.database) &&\n options.database.substr(0, 1) !== \"/\" && // unix absolute\n options.database.substr(1, 2) !== \":\\\\\" && // windows absolute\n options.database !== \":memory:\"\n ) {\n Object.assign(options, {\n database: this.baseDirectory + \"/\" + options.database,\n })\n }\n }\n })\n\n return connectionOptions\n }\n\n /**\n * Gets directory where configuration file should be located and configuration file name.\n */\n protected get baseFilePath(): string {\n return path.resolve(this.baseDirectory, this.baseConfigName)\n }\n\n /**\n * Gets directory where configuration file should be located.\n */\n protected get baseDirectory(): string {\n return this.options?.root ?? appRootPath.path\n }\n\n /**\n * Gets configuration file name.\n */\n protected get baseConfigName(): string {\n return this.options?.configName ?? \"ormconfig\"\n }\n}\n"],"sourceRoot":".."}
@@ -10,7 +10,7 @@ export declare class ConnectionOptionsEnvReader {
10
10
  /**
11
11
  * Reads connection options from environment variables.
12
12
  */
13
- read(): Promise<DataSourceOptions[]>;
13
+ read(): DataSourceOptions[];
14
14
  /**
15
15
  * Transforms logging string into real logging value connection requires.
16
16
  */
@@ -14,7 +14,7 @@ export class ConnectionOptionsEnvReader {
14
14
  /**
15
15
  * Reads connection options from environment variables.
16
16
  */
17
- async read() {
17
+ read() {
18
18
  return [
19
19
  {
20
20
  type: PlatformTools.getEnvVariable("TYPEORM_CONNECTION") ||
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/connection/options-reader/ConnectionOptionsEnvReader.ts"],"names":[],"mappings":"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","file":"ConnectionOptionsEnvReader.js","sourcesContent":["import { DataSourceOptions } from \"../../data-source/DataSourceOptions\"\nimport { PlatformTools } from \"../../platform/PlatformTools\"\nimport { OrmUtils } from \"../../util/OrmUtils\"\n\n/**\n * Reads connection options from environment variables.\n * Environment variables can have only a single connection.\n * Its strongly required to define TYPEORM_CONNECTION env variable.\n *\n * @deprecated\n */\nexport class ConnectionOptionsEnvReader {\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Reads connection options from environment variables.\n */\n async read(): Promise<DataSourceOptions[]> {\n return [\n {\n type:\n PlatformTools.getEnvVariable(\"TYPEORM_CONNECTION\") ||\n (PlatformTools.getEnvVariable(\"TYPEORM_URL\")\n ? PlatformTools.getEnvVariable(\"TYPEORM_URL\").split(\n \"://\",\n )[0]\n : undefined),\n url: PlatformTools.getEnvVariable(\"TYPEORM_URL\"),\n host: PlatformTools.getEnvVariable(\"TYPEORM_HOST\"),\n port: this.stringToNumber(\n PlatformTools.getEnvVariable(\"TYPEORM_PORT\"),\n ),\n username: PlatformTools.getEnvVariable(\"TYPEORM_USERNAME\"),\n password: PlatformTools.getEnvVariable(\"TYPEORM_PASSWORD\"),\n database: PlatformTools.getEnvVariable(\"TYPEORM_DATABASE\"),\n sid: PlatformTools.getEnvVariable(\"TYPEORM_SID\"),\n schema: PlatformTools.getEnvVariable(\"TYPEORM_SCHEMA\"),\n extra: PlatformTools.getEnvVariable(\"TYPEORM_DRIVER_EXTRA\")\n ? JSON.parse(\n PlatformTools.getEnvVariable(\"TYPEORM_DRIVER_EXTRA\"),\n )\n : undefined,\n synchronize: OrmUtils.toBoolean(\n PlatformTools.getEnvVariable(\"TYPEORM_SYNCHRONIZE\"),\n ),\n dropSchema: OrmUtils.toBoolean(\n PlatformTools.getEnvVariable(\"TYPEORM_DROP_SCHEMA\"),\n ),\n migrationsRun: OrmUtils.toBoolean(\n PlatformTools.getEnvVariable(\"TYPEORM_MIGRATIONS_RUN\"),\n ),\n entities: this.stringToArray(\n PlatformTools.getEnvVariable(\"TYPEORM_ENTITIES\"),\n ),\n migrations: this.stringToArray(\n PlatformTools.getEnvVariable(\"TYPEORM_MIGRATIONS\"),\n ),\n migrationsTableName: PlatformTools.getEnvVariable(\n \"TYPEORM_MIGRATIONS_TABLE_NAME\",\n ),\n metadataTableName: PlatformTools.getEnvVariable(\n \"TYPEORM_METADATA_TABLE_NAME\",\n ),\n subscribers: this.stringToArray(\n PlatformTools.getEnvVariable(\"TYPEORM_SUBSCRIBERS\"),\n ),\n logging: this.transformLogging(\n PlatformTools.getEnvVariable(\"TYPEORM_LOGGING\"),\n ),\n logger: PlatformTools.getEnvVariable(\"TYPEORM_LOGGER\"),\n entityPrefix: PlatformTools.getEnvVariable(\n \"TYPEORM_ENTITY_PREFIX\",\n ),\n maxQueryExecutionTime: PlatformTools.getEnvVariable(\n \"TYPEORM_MAX_QUERY_EXECUTION_TIME\",\n ),\n debug: PlatformTools.getEnvVariable(\"TYPEORM_DEBUG\"),\n cache: this.transformCaching(),\n uuidExtension: PlatformTools.getEnvVariable(\n \"TYPEORM_UUID_EXTENSION\",\n ),\n },\n ]\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Transforms logging string into real logging value connection requires.\n */\n protected transformLogging(logging: string): any {\n if (logging === \"true\" || logging === \"TRUE\" || logging === \"1\")\n return true\n if (logging === \"all\") return \"all\"\n\n return this.stringToArray(logging)\n }\n\n /**\n * Transforms caching option into real caching value option requires.\n */\n protected transformCaching(): boolean | object | undefined {\n const caching = PlatformTools.getEnvVariable(\"TYPEORM_CACHE\")\n if (caching === \"true\" || caching === \"TRUE\" || caching === \"1\")\n return true\n if (caching === \"false\" || caching === \"FALSE\" || caching === \"0\")\n return false\n if (\n caching === \"redis\" ||\n caching === \"ioredis\" ||\n caching === \"database\"\n )\n return {\n type: caching,\n options: PlatformTools.getEnvVariable(\"TYPEORM_CACHE_OPTIONS\")\n ? JSON.parse(\n PlatformTools.getEnvVariable(\"TYPEORM_CACHE_OPTIONS\"),\n )\n : undefined,\n alwaysEnabled: PlatformTools.getEnvVariable(\n \"TYPEORM_CACHE_ALWAYS_ENABLED\",\n ),\n duration: parseInt(\n PlatformTools.getEnvVariable(\"TYPEORM_CACHE_DURATION\"),\n ),\n }\n\n return undefined\n }\n\n /**\n * Converts a string which contains multiple elements split by comma into a string array of strings.\n */\n protected stringToArray(variable?: string) {\n if (!variable) return []\n return variable.split(\",\").map((str) => str.trim())\n }\n\n /**\n * Converts a string which contains a number into a javascript number\n */\n private stringToNumber(value: any): number | undefined {\n if (!value) {\n return undefined\n }\n\n return parseInt(value)\n }\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../browser/src/connection/options-reader/ConnectionOptionsEnvReader.ts"],"names":[],"mappings":"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","file":"ConnectionOptionsEnvReader.js","sourcesContent":["import { DataSourceOptions } from \"../../data-source/DataSourceOptions\"\nimport { PlatformTools } from \"../../platform/PlatformTools\"\nimport { OrmUtils } from \"../../util/OrmUtils\"\n\n/**\n * Reads connection options from environment variables.\n * Environment variables can have only a single connection.\n * Its strongly required to define TYPEORM_CONNECTION env variable.\n *\n * @deprecated\n */\nexport class ConnectionOptionsEnvReader {\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Reads connection options from environment variables.\n */\n read(): DataSourceOptions[] {\n return [\n {\n type:\n PlatformTools.getEnvVariable(\"TYPEORM_CONNECTION\") ||\n (PlatformTools.getEnvVariable(\"TYPEORM_URL\")\n ? PlatformTools.getEnvVariable(\"TYPEORM_URL\").split(\n \"://\",\n )[0]\n : undefined),\n url: PlatformTools.getEnvVariable(\"TYPEORM_URL\"),\n host: PlatformTools.getEnvVariable(\"TYPEORM_HOST\"),\n port: this.stringToNumber(\n PlatformTools.getEnvVariable(\"TYPEORM_PORT\"),\n ),\n username: PlatformTools.getEnvVariable(\"TYPEORM_USERNAME\"),\n password: PlatformTools.getEnvVariable(\"TYPEORM_PASSWORD\"),\n database: PlatformTools.getEnvVariable(\"TYPEORM_DATABASE\"),\n sid: PlatformTools.getEnvVariable(\"TYPEORM_SID\"),\n schema: PlatformTools.getEnvVariable(\"TYPEORM_SCHEMA\"),\n extra: PlatformTools.getEnvVariable(\"TYPEORM_DRIVER_EXTRA\")\n ? JSON.parse(\n PlatformTools.getEnvVariable(\"TYPEORM_DRIVER_EXTRA\"),\n )\n : undefined,\n synchronize: OrmUtils.toBoolean(\n PlatformTools.getEnvVariable(\"TYPEORM_SYNCHRONIZE\"),\n ),\n dropSchema: OrmUtils.toBoolean(\n PlatformTools.getEnvVariable(\"TYPEORM_DROP_SCHEMA\"),\n ),\n migrationsRun: OrmUtils.toBoolean(\n PlatformTools.getEnvVariable(\"TYPEORM_MIGRATIONS_RUN\"),\n ),\n entities: this.stringToArray(\n PlatformTools.getEnvVariable(\"TYPEORM_ENTITIES\"),\n ),\n migrations: this.stringToArray(\n PlatformTools.getEnvVariable(\"TYPEORM_MIGRATIONS\"),\n ),\n migrationsTableName: PlatformTools.getEnvVariable(\n \"TYPEORM_MIGRATIONS_TABLE_NAME\",\n ),\n metadataTableName: PlatformTools.getEnvVariable(\n \"TYPEORM_METADATA_TABLE_NAME\",\n ),\n subscribers: this.stringToArray(\n PlatformTools.getEnvVariable(\"TYPEORM_SUBSCRIBERS\"),\n ),\n logging: this.transformLogging(\n PlatformTools.getEnvVariable(\"TYPEORM_LOGGING\"),\n ),\n logger: PlatformTools.getEnvVariable(\"TYPEORM_LOGGER\"),\n entityPrefix: PlatformTools.getEnvVariable(\n \"TYPEORM_ENTITY_PREFIX\",\n ),\n maxQueryExecutionTime: PlatformTools.getEnvVariable(\n \"TYPEORM_MAX_QUERY_EXECUTION_TIME\",\n ),\n debug: PlatformTools.getEnvVariable(\"TYPEORM_DEBUG\"),\n cache: this.transformCaching(),\n uuidExtension: PlatformTools.getEnvVariable(\n \"TYPEORM_UUID_EXTENSION\",\n ),\n },\n ]\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Transforms logging string into real logging value connection requires.\n */\n protected transformLogging(logging: string): any {\n if (logging === \"true\" || logging === \"TRUE\" || logging === \"1\")\n return true\n if (logging === \"all\") return \"all\"\n\n return this.stringToArray(logging)\n }\n\n /**\n * Transforms caching option into real caching value option requires.\n */\n protected transformCaching(): boolean | object | undefined {\n const caching = PlatformTools.getEnvVariable(\"TYPEORM_CACHE\")\n if (caching === \"true\" || caching === \"TRUE\" || caching === \"1\")\n return true\n if (caching === \"false\" || caching === \"FALSE\" || caching === \"0\")\n return false\n if (\n caching === \"redis\" ||\n caching === \"ioredis\" ||\n caching === \"database\"\n )\n return {\n type: caching,\n options: PlatformTools.getEnvVariable(\"TYPEORM_CACHE_OPTIONS\")\n ? JSON.parse(\n PlatformTools.getEnvVariable(\"TYPEORM_CACHE_OPTIONS\"),\n )\n : undefined,\n alwaysEnabled: PlatformTools.getEnvVariable(\n \"TYPEORM_CACHE_ALWAYS_ENABLED\",\n ),\n duration: parseInt(\n PlatformTools.getEnvVariable(\"TYPEORM_CACHE_DURATION\"),\n ),\n }\n\n return undefined\n }\n\n /**\n * Converts a string which contains multiple elements split by comma into a string array of strings.\n */\n protected stringToArray(variable?: string) {\n if (!variable) return []\n return variable.split(\",\").map((str) => str.trim())\n }\n\n /**\n * Converts a string which contains a number into a javascript number\n */\n private stringToNumber(value: any): number | undefined {\n if (!value) {\n return undefined\n }\n\n return parseInt(value)\n }\n}\n"],"sourceRoot":"../.."}
@@ -202,7 +202,7 @@ export declare class AuroraMysqlDriver implements Driver {
202
202
  /**
203
203
  * Creates generated map of values generated or returned by database after INSERT query.
204
204
  */
205
- createGeneratedMap(metadata: EntityMetadata, insertResult: any, entityIndex: number): any;
205
+ createGeneratedMap(metadata: EntityMetadata, insertResult: any, entityIndex: number): ObjectLiteral | undefined;
206
206
  /**
207
207
  * Differentiate columns of this table and columns from the given column metadatas columns
208
208
  * and returns only changed.
@@ -764,7 +764,7 @@ export class AuroraMysqlQueryRunner extends BaseQueryRunner {
764
764
  * Drops the columns in the table.
765
765
  */
766
766
  async dropColumns(tableOrName, columns) {
767
- for (const column of columns) {
767
+ for (const column of [...columns]) {
768
768
  await this.dropColumn(tableOrName, column);
769
769
  }
770
770
  }
@@ -1177,7 +1177,7 @@ export class AuroraMysqlQueryRunner extends BaseQueryRunner {
1177
1177
  this.query(foreignKeysSql),
1178
1178
  ]);
1179
1179
  // create tables for loaded tables
1180
- return Promise.all(dbTables.map(async (dbTable) => {
1180
+ return dbTables.map((dbTable) => {
1181
1181
  const table = new Table();
1182
1182
  const dbCollation = dbCollations.find((coll) => coll["SCHEMA_NAME"] === dbTable["TABLE_SCHEMA"]);
1183
1183
  const defaultCollation = dbCollation["COLLATION"];
@@ -1191,12 +1191,10 @@ export class AuroraMysqlQueryRunner extends BaseQueryRunner {
1191
1191
  // create columns from the loaded columns
1192
1192
  table.columns = dbColumns
1193
1193
  .filter((dbColumn) => dbColumn["TABLE_NAME"] === dbTable["TABLE_NAME"] &&
1194
- dbColumn["TABLE_SCHEMA"] ===
1195
- dbTable["TABLE_SCHEMA"])
1194
+ dbColumn["TABLE_SCHEMA"] === dbTable["TABLE_SCHEMA"])
1196
1195
  .map((dbColumn) => {
1197
1196
  const columnUniqueIndices = dbIndices.filter((dbIndex) => {
1198
- return (dbIndex["TABLE_NAME"] ===
1199
- dbTable["TABLE_NAME"] &&
1197
+ return (dbIndex["TABLE_NAME"] === dbTable["TABLE_NAME"] &&
1200
1198
  dbIndex["TABLE_SCHEMA"] ===
1201
1199
  dbTable["TABLE_SCHEMA"] &&
1202
1200
  dbIndex["COLUMN_NAME"] ===
@@ -1209,8 +1207,7 @@ export class AuroraMysqlQueryRunner extends BaseQueryRunner {
1209
1207
  tableMetadata &&
1210
1208
  tableMetadata.indices.some((index) => {
1211
1209
  return columnUniqueIndices.some((uniqueIndex) => {
1212
- return (index.name ===
1213
- uniqueIndex["INDEX_NAME"] &&
1210
+ return (index.name === uniqueIndex["INDEX_NAME"] &&
1214
1211
  index.synchronize === false);
1215
1212
  });
1216
1213
  });
@@ -1242,8 +1239,7 @@ export class AuroraMysqlQueryRunner extends BaseQueryRunner {
1242
1239
  }
1243
1240
  else {
1244
1241
  tableColumn.default =
1245
- dbColumn["COLUMN_DEFAULT"] ===
1246
- "CURRENT_TIMESTAMP"
1242
+ dbColumn["COLUMN_DEFAULT"] === "CURRENT_TIMESTAMP"
1247
1243
  ? dbColumn["COLUMN_DEFAULT"]
1248
1244
  : `'${dbColumn["COLUMN_DEFAULT"]}'`;
1249
1245
  }
@@ -1262,8 +1258,7 @@ export class AuroraMysqlQueryRunner extends BaseQueryRunner {
1262
1258
  columnUniqueIndices.length > 0 &&
1263
1259
  !hasIgnoredIndex &&
1264
1260
  !isConstraintComposite;
1265
- tableColumn.isNullable =
1266
- dbColumn["IS_NULLABLE"] === "YES";
1261
+ tableColumn.isNullable = dbColumn["IS_NULLABLE"] === "YES";
1267
1262
  tableColumn.isPrimary = dbPrimaryKeys.some((dbPrimaryKey) => {
1268
1263
  return (dbPrimaryKey["TABLE_NAME"] ===
1269
1264
  dbColumn["TABLE_NAME"] &&
@@ -1285,8 +1280,7 @@ export class AuroraMysqlQueryRunner extends BaseQueryRunner {
1285
1280
  : dbColumn["COLUMN_COMMENT"];
1286
1281
  if (dbColumn["CHARACTER_SET_NAME"])
1287
1282
  tableColumn.charset =
1288
- dbColumn["CHARACTER_SET_NAME"] ===
1289
- defaultCharset
1283
+ dbColumn["CHARACTER_SET_NAME"] === defaultCharset
1290
1284
  ? undefined
1291
1285
  : dbColumn["CHARACTER_SET_NAME"];
1292
1286
  if (dbColumn["COLLATION_NAME"])
@@ -1336,10 +1330,8 @@ export class AuroraMysqlQueryRunner extends BaseQueryRunner {
1336
1330
  });
1337
1331
  // find foreign key constraints of table, group them by constraint name and build TableForeignKey.
1338
1332
  const tableForeignKeyConstraints = OrmUtils.uniq(dbForeignKeys.filter((dbForeignKey) => {
1339
- return (dbForeignKey["TABLE_NAME"] ===
1340
- dbTable["TABLE_NAME"] &&
1341
- dbForeignKey["TABLE_SCHEMA"] ===
1342
- dbTable["TABLE_SCHEMA"]);
1333
+ return (dbForeignKey["TABLE_NAME"] === dbTable["TABLE_NAME"] &&
1334
+ dbForeignKey["TABLE_SCHEMA"] === dbTable["TABLE_SCHEMA"]);
1343
1335
  }), (dbForeignKey) => dbForeignKey["CONSTRAINT_NAME"]);
1344
1336
  table.foreignKeys = tableForeignKeyConstraints.map((dbForeignKey) => {
1345
1337
  const foreignKeys = dbForeignKeys.filter((dbFk) => dbFk["CONSTRAINT_NAME"] ===
@@ -1367,8 +1359,7 @@ export class AuroraMysqlQueryRunner extends BaseQueryRunner {
1367
1359
  }), (dbIndex) => dbIndex["INDEX_NAME"]);
1368
1360
  table.indices = tableIndexConstraints.map((constraint) => {
1369
1361
  const indices = dbIndices.filter((index) => {
1370
- return (index["TABLE_SCHEMA"] ===
1371
- constraint["TABLE_SCHEMA"] &&
1362
+ return (index["TABLE_SCHEMA"] === constraint["TABLE_SCHEMA"] &&
1372
1363
  index["TABLE_NAME"] === constraint["TABLE_NAME"] &&
1373
1364
  index["INDEX_NAME"] === constraint["INDEX_NAME"]);
1374
1365
  });
@@ -1383,7 +1374,7 @@ export class AuroraMysqlQueryRunner extends BaseQueryRunner {
1383
1374
  });
1384
1375
  });
1385
1376
  return table;
1386
- }));
1377
+ });
1387
1378
  }
1388
1379
  /**
1389
1380
  * Builds create table sql