typeorm 0.3.11-dev.66acec8 → 0.3.11-dev.6ba48bd

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 (259) hide show
  1. package/README.md +3 -3
  2. package/browser/decorator/options/JoinTableMultipleColumnsOptions.d.ts +6 -0
  3. package/browser/decorator/options/JoinTableMultipleColumnsOptions.js.map +1 -1
  4. package/browser/decorator/options/JoinTableOptions.d.ts +6 -0
  5. package/browser/decorator/options/JoinTableOptions.js.map +1 -1
  6. package/browser/decorator/relations/JoinTable.js +1 -0
  7. package/browser/decorator/relations/JoinTable.js.map +1 -1
  8. package/browser/driver/Driver.d.ts +4 -0
  9. package/browser/driver/Driver.js.map +1 -1
  10. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js +21 -4
  11. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  12. package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js +0 -6
  13. package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  14. package/browser/driver/cordova/CordovaDriver.d.ts +1 -0
  15. package/browser/driver/cordova/CordovaDriver.js +1 -0
  16. package/browser/driver/cordova/CordovaDriver.js.map +1 -1
  17. package/browser/driver/oracle/OracleDriver.d.ts +1 -0
  18. package/browser/driver/oracle/OracleDriver.js +1 -0
  19. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  20. package/browser/driver/postgres/PostgresConnectionOptions.d.ts +16 -0
  21. package/browser/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  22. package/browser/driver/postgres/PostgresDriver.js +11 -1
  23. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  24. package/browser/driver/postgres/PostgresQueryRunner.d.ts +17 -1
  25. package/browser/driver/postgres/PostgresQueryRunner.js +100 -0
  26. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  27. package/browser/driver/react-native/ReactNativeQueryRunner.js +4 -4
  28. package/browser/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  29. package/browser/driver/sap/SapDriver.d.ts +1 -0
  30. package/browser/driver/sap/SapDriver.js +1 -0
  31. package/browser/driver/sap/SapDriver.js.map +1 -1
  32. package/browser/driver/sqlite/SqliteConnectionOptions.d.ts +6 -0
  33. package/browser/driver/sqlite/SqliteConnectionOptions.js.map +1 -1
  34. package/browser/driver/sqlite/SqliteDriver.js +18 -6
  35. package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
  36. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js +6 -0
  37. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  38. package/browser/entity-manager/EntityManager.d.ts +4 -0
  39. package/browser/entity-manager/EntityManager.js +14 -1
  40. package/browser/entity-manager/EntityManager.js.map +1 -1
  41. package/browser/error/ForbiddenTransactionModeOverrideError.d.ts +8 -0
  42. package/browser/error/ForbiddenTransactionModeOverrideError.js +12 -0
  43. package/browser/error/ForbiddenTransactionModeOverrideError.js.map +1 -0
  44. package/browser/error/index.d.ts +1 -0
  45. package/browser/error/index.js +1 -0
  46. package/browser/error/index.js.map +1 -1
  47. package/browser/find-options/FindOperatorType.d.ts +1 -1
  48. package/browser/find-options/FindOperatorType.js.map +1 -1
  49. package/browser/find-options/FindOptionsOrder.d.ts +1 -1
  50. package/browser/find-options/FindOptionsOrder.js.map +1 -1
  51. package/browser/find-options/FindOptionsRelations.d.ts +1 -1
  52. package/browser/find-options/FindOptionsRelations.js.map +1 -1
  53. package/browser/find-options/FindOptionsSelect.d.ts +1 -1
  54. package/browser/find-options/FindOptionsSelect.js.map +1 -1
  55. package/browser/find-options/FindOptionsWhere.d.ts +2 -2
  56. package/browser/find-options/FindOptionsWhere.js.map +1 -1
  57. package/browser/find-options/operator/And.d.ts +2 -0
  58. package/browser/find-options/operator/And.js +6 -0
  59. package/browser/find-options/operator/And.js.map +1 -0
  60. package/browser/find-options/operator/Any.d.ts +1 -1
  61. package/browser/find-options/operator/Any.js.map +1 -1
  62. package/browser/find-options/operator/ArrayContainedBy.d.ts +1 -1
  63. package/browser/find-options/operator/ArrayContainedBy.js.map +1 -1
  64. package/browser/find-options/operator/ArrayContains.d.ts +1 -1
  65. package/browser/find-options/operator/ArrayContains.js.map +1 -1
  66. package/browser/find-options/operator/ArrayOverlap.d.ts +1 -1
  67. package/browser/find-options/operator/ArrayOverlap.js.map +1 -1
  68. package/browser/find-options/operator/In.d.ts +1 -1
  69. package/browser/find-options/operator/In.js.map +1 -1
  70. package/browser/index.d.ts +1 -0
  71. package/browser/index.js +1 -0
  72. package/browser/index.js.map +1 -1
  73. package/browser/metadata-args/JoinTableMetadataArgs.d.ts +6 -0
  74. package/browser/metadata-args/JoinTableMetadataArgs.js.map +1 -1
  75. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js +1 -0
  76. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  77. package/browser/migration/Migration.d.ts +5 -1
  78. package/browser/migration/Migration.js +2 -1
  79. package/browser/migration/Migration.js.map +1 -1
  80. package/browser/migration/MigrationExecutor.js +39 -6
  81. package/browser/migration/MigrationExecutor.js.map +1 -1
  82. package/browser/migration/MigrationInterface.d.ts +7 -0
  83. package/browser/migration/MigrationInterface.js.map +1 -1
  84. package/browser/naming-strategy/NamingStrategyInterface.d.ts +2 -1
  85. package/browser/naming-strategy/NamingStrategyInterface.js.map +1 -1
  86. package/browser/persistence/EntityPersistExecutor.js +2 -1
  87. package/browser/persistence/EntityPersistExecutor.js.map +1 -1
  88. package/browser/persistence/tree/MaterializedPathSubjectExecutor.d.ts +1 -0
  89. package/browser/persistence/tree/MaterializedPathSubjectExecutor.js +19 -4
  90. package/browser/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  91. package/browser/query-builder/InsertOrUpdateOptions.d.ts +7 -0
  92. package/browser/query-builder/InsertOrUpdateOptions.js.map +1 -1
  93. package/browser/query-builder/InsertQueryBuilder.js +10 -1
  94. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  95. package/browser/query-builder/QueryBuilder.d.ts +1 -0
  96. package/browser/query-builder/QueryBuilder.js +22 -0
  97. package/browser/query-builder/QueryBuilder.js.map +1 -1
  98. package/browser/query-builder/QueryExpressionMap.d.ts +1 -0
  99. package/browser/query-builder/QueryExpressionMap.js.map +1 -1
  100. package/browser/query-builder/RelationLoader.js +1 -0
  101. package/browser/query-builder/RelationLoader.js.map +1 -1
  102. package/browser/query-builder/SelectQueryBuilder.d.ts +19 -0
  103. package/browser/query-builder/SelectQueryBuilder.js +76 -8
  104. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  105. package/browser/query-builder/WhereClause.d.ts +1 -1
  106. package/browser/query-builder/WhereClause.js.map +1 -1
  107. package/browser/query-runner/BaseQueryRunner.d.ts +1 -1
  108. package/browser/query-runner/BaseQueryRunner.js.map +1 -1
  109. package/browser/repository/Repository.d.ts +5 -1
  110. package/browser/repository/Repository.js +6 -0
  111. package/browser/repository/Repository.js.map +1 -1
  112. package/browser/repository/TreeRepository.d.ts +0 -4
  113. package/browser/repository/TreeRepository.js +0 -11
  114. package/browser/repository/TreeRepository.js.map +1 -1
  115. package/browser/repository/UpsertOptions.d.ts +5 -2
  116. package/browser/repository/UpsertOptions.js.map +1 -1
  117. package/browser/schema-builder/RdbmsSchemaBuilder.d.ts +4 -0
  118. package/browser/schema-builder/RdbmsSchemaBuilder.js +74 -2
  119. package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  120. package/browser/schema-builder/view/View.d.ts +13 -1
  121. package/browser/schema-builder/view/View.js +16 -0
  122. package/browser/schema-builder/view/View.js.map +1 -1
  123. package/browser/util/OrmUtils.js +2 -1
  124. package/browser/util/OrmUtils.js.map +1 -1
  125. package/browser/util/TreeRepositoryUtils.js +16 -6
  126. package/browser/util/TreeRepositoryUtils.js.map +1 -1
  127. package/commands/InitCommand.js +32 -5
  128. package/commands/InitCommand.js.map +1 -1
  129. package/commands/MigrationGenerateCommand.js +1 -0
  130. package/commands/MigrationGenerateCommand.js.map +1 -1
  131. package/commands/MigrationRevertCommand.js +1 -0
  132. package/commands/MigrationRevertCommand.js.map +1 -1
  133. package/decorator/options/JoinTableMultipleColumnsOptions.d.ts +6 -0
  134. package/decorator/options/JoinTableMultipleColumnsOptions.js.map +1 -1
  135. package/decorator/options/JoinTableOptions.d.ts +6 -0
  136. package/decorator/options/JoinTableOptions.js.map +1 -1
  137. package/decorator/relations/JoinTable.js +1 -0
  138. package/decorator/relations/JoinTable.js.map +1 -1
  139. package/driver/Driver.d.ts +4 -0
  140. package/driver/Driver.js.map +1 -1
  141. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js +21 -4
  142. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  143. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js +0 -6
  144. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  145. package/driver/cordova/CordovaDriver.d.ts +1 -0
  146. package/driver/cordova/CordovaDriver.js +1 -0
  147. package/driver/cordova/CordovaDriver.js.map +1 -1
  148. package/driver/oracle/OracleDriver.d.ts +1 -0
  149. package/driver/oracle/OracleDriver.js +1 -0
  150. package/driver/oracle/OracleDriver.js.map +1 -1
  151. package/driver/postgres/PostgresConnectionOptions.d.ts +16 -0
  152. package/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  153. package/driver/postgres/PostgresDriver.js +11 -1
  154. package/driver/postgres/PostgresDriver.js.map +1 -1
  155. package/driver/postgres/PostgresQueryRunner.d.ts +17 -1
  156. package/driver/postgres/PostgresQueryRunner.js +100 -0
  157. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  158. package/driver/react-native/ReactNativeQueryRunner.js +4 -4
  159. package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  160. package/driver/sap/SapDriver.d.ts +1 -0
  161. package/driver/sap/SapDriver.js +1 -0
  162. package/driver/sap/SapDriver.js.map +1 -1
  163. package/driver/sqlite/SqliteConnectionOptions.d.ts +6 -0
  164. package/driver/sqlite/SqliteConnectionOptions.js.map +1 -1
  165. package/driver/sqlite/SqliteDriver.js +18 -6
  166. package/driver/sqlite/SqliteDriver.js.map +1 -1
  167. package/driver/sqlite-abstract/AbstractSqliteDriver.js +6 -0
  168. package/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  169. package/entity-manager/EntityManager.d.ts +4 -0
  170. package/entity-manager/EntityManager.js +14 -1
  171. package/entity-manager/EntityManager.js.map +1 -1
  172. package/error/ForbiddenTransactionModeOverrideError.d.ts +8 -0
  173. package/error/ForbiddenTransactionModeOverrideError.js +16 -0
  174. package/error/ForbiddenTransactionModeOverrideError.js.map +1 -0
  175. package/error/index.d.ts +1 -0
  176. package/error/index.js +1 -0
  177. package/error/index.js.map +1 -1
  178. package/find-options/FindOperatorType.d.ts +1 -1
  179. package/find-options/FindOperatorType.js.map +1 -1
  180. package/find-options/FindOptionsOrder.d.ts +1 -1
  181. package/find-options/FindOptionsOrder.js.map +1 -1
  182. package/find-options/FindOptionsRelations.d.ts +1 -1
  183. package/find-options/FindOptionsRelations.js.map +1 -1
  184. package/find-options/FindOptionsSelect.d.ts +1 -1
  185. package/find-options/FindOptionsSelect.js.map +1 -1
  186. package/find-options/FindOptionsWhere.d.ts +2 -2
  187. package/find-options/FindOptionsWhere.js.map +1 -1
  188. package/find-options/operator/And.d.ts +2 -0
  189. package/find-options/operator/And.js +10 -0
  190. package/find-options/operator/And.js.map +1 -0
  191. package/find-options/operator/Any.d.ts +1 -1
  192. package/find-options/operator/Any.js.map +1 -1
  193. package/find-options/operator/ArrayContainedBy.d.ts +1 -1
  194. package/find-options/operator/ArrayContainedBy.js.map +1 -1
  195. package/find-options/operator/ArrayContains.d.ts +1 -1
  196. package/find-options/operator/ArrayContains.js.map +1 -1
  197. package/find-options/operator/ArrayOverlap.d.ts +1 -1
  198. package/find-options/operator/ArrayOverlap.js.map +1 -1
  199. package/find-options/operator/In.d.ts +1 -1
  200. package/find-options/operator/In.js.map +1 -1
  201. package/index.d.ts +1 -0
  202. package/index.js +1 -0
  203. package/index.js.map +1 -1
  204. package/index.mjs +4 -0
  205. package/metadata-args/JoinTableMetadataArgs.d.ts +6 -0
  206. package/metadata-args/JoinTableMetadataArgs.js.map +1 -1
  207. package/metadata-builder/JunctionEntityMetadataBuilder.js +1 -0
  208. package/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  209. package/migration/Migration.d.ts +5 -1
  210. package/migration/Migration.js +2 -1
  211. package/migration/Migration.js.map +1 -1
  212. package/migration/MigrationExecutor.js +38 -5
  213. package/migration/MigrationExecutor.js.map +1 -1
  214. package/migration/MigrationInterface.d.ts +7 -0
  215. package/migration/MigrationInterface.js.map +1 -1
  216. package/naming-strategy/NamingStrategyInterface.d.ts +2 -1
  217. package/naming-strategy/NamingStrategyInterface.js.map +1 -1
  218. package/package.json +1 -1
  219. package/persistence/EntityPersistExecutor.js +2 -1
  220. package/persistence/EntityPersistExecutor.js.map +1 -1
  221. package/persistence/tree/MaterializedPathSubjectExecutor.d.ts +1 -0
  222. package/persistence/tree/MaterializedPathSubjectExecutor.js +19 -4
  223. package/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  224. package/query-builder/InsertOrUpdateOptions.d.ts +7 -0
  225. package/query-builder/InsertOrUpdateOptions.js.map +1 -1
  226. package/query-builder/InsertQueryBuilder.js +10 -1
  227. package/query-builder/InsertQueryBuilder.js.map +1 -1
  228. package/query-builder/QueryBuilder.d.ts +1 -0
  229. package/query-builder/QueryBuilder.js +22 -0
  230. package/query-builder/QueryBuilder.js.map +1 -1
  231. package/query-builder/QueryExpressionMap.d.ts +1 -0
  232. package/query-builder/QueryExpressionMap.js.map +1 -1
  233. package/query-builder/RelationLoader.js +1 -0
  234. package/query-builder/RelationLoader.js.map +1 -1
  235. package/query-builder/SelectQueryBuilder.d.ts +19 -0
  236. package/query-builder/SelectQueryBuilder.js +76 -8
  237. package/query-builder/SelectQueryBuilder.js.map +1 -1
  238. package/query-builder/WhereClause.d.ts +1 -1
  239. package/query-builder/WhereClause.js.map +1 -1
  240. package/query-runner/BaseQueryRunner.d.ts +1 -1
  241. package/query-runner/BaseQueryRunner.js.map +1 -1
  242. package/repository/Repository.d.ts +5 -1
  243. package/repository/Repository.js +6 -0
  244. package/repository/Repository.js.map +1 -1
  245. package/repository/TreeRepository.d.ts +0 -4
  246. package/repository/TreeRepository.js +0 -11
  247. package/repository/TreeRepository.js.map +1 -1
  248. package/repository/UpsertOptions.d.ts +5 -2
  249. package/repository/UpsertOptions.js.map +1 -1
  250. package/schema-builder/RdbmsSchemaBuilder.d.ts +4 -0
  251. package/schema-builder/RdbmsSchemaBuilder.js +74 -2
  252. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  253. package/schema-builder/view/View.d.ts +13 -1
  254. package/schema-builder/view/View.js +16 -0
  255. package/schema-builder/view/View.js.map +1 -1
  256. package/util/OrmUtils.js +2 -1
  257. package/util/OrmUtils.js.map +1 -1
  258. package/util/TreeRepositoryUtils.js +16 -6
  259. package/util/TreeRepositoryUtils.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/decorator/options/JoinTableMultipleColumnsOptions.ts"],"names":[],"mappings":"","file":"JoinTableMultipleColumnsOptions.js","sourcesContent":["import { JoinColumnOptions } from \"./JoinColumnOptions\"\n\n/**\n * Describes all join table with multiple column options.\n */\nexport interface JoinTableMultipleColumnsOptions {\n /**\n * Name of the table that will be created to store values of the both tables (join table).\n * By default is auto generated.\n */\n name?: string\n\n /**\n * First column of the join table.\n */\n joinColumns?: JoinColumnOptions[]\n\n /**\n * Second (inverse) column of the join table.\n */\n inverseJoinColumns?: JoinColumnOptions[]\n\n /**\n * Database where join table will be created.\n * Works only in some databases (like mysql and mssql).\n */\n database?: string\n\n /**\n * Schema where join table will be created.\n * Works only in some databases (like postgres and mssql).\n */\n schema?: string\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../../src/decorator/options/JoinTableMultipleColumnsOptions.ts"],"names":[],"mappings":"","file":"JoinTableMultipleColumnsOptions.js","sourcesContent":["import { JoinColumnOptions } from \"./JoinColumnOptions\"\n\n/**\n * Describes all join table with multiple column options.\n */\nexport interface JoinTableMultipleColumnsOptions {\n /**\n * Name of the table that will be created to store values of the both tables (join table).\n * By default is auto generated.\n */\n name?: string\n\n /**\n * First column of the join table.\n */\n joinColumns?: JoinColumnOptions[]\n\n /**\n * Second (inverse) column of the join table.\n */\n inverseJoinColumns?: JoinColumnOptions[]\n\n /**\n * Database where join table will be created.\n * Works only in some databases (like mysql and mssql).\n */\n database?: string\n\n /**\n * Schema where join table will be created.\n * Works only in some databases (like postgres and mssql).\n */\n schema?: string\n\n /**\n * Indicates if schema synchronization is enabled or disabled junction table.\n * If it will be set to false then schema sync will and migrations ignores junction table.\n * By default schema synchronization is enabled.\n */\n readonly synchronize?: boolean\n}\n"],"sourceRoot":"../.."}
@@ -26,4 +26,10 @@ export interface JoinTableOptions {
26
26
  * Works only in some databases (like postgres and mssql).
27
27
  */
28
28
  schema?: string;
29
+ /**
30
+ * Indicates if schema synchronization is enabled or disabled junction table.
31
+ * If it will be set to false then schema sync will and migrations ignores junction table.
32
+ * By default schema synchronization is enabled.
33
+ */
34
+ synchronize?: boolean;
29
35
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/decorator/options/JoinTableOptions.ts"],"names":[],"mappings":"","file":"JoinTableOptions.js","sourcesContent":["import { JoinColumnOptions } from \"./JoinColumnOptions\"\n\n/**\n * Describes join table options.\n */\nexport interface JoinTableOptions {\n /**\n * Name of the table that will be created to store values of the both tables (join table).\n * By default is auto generated.\n */\n name?: string\n\n /**\n * First column of the join table.\n */\n joinColumn?: JoinColumnOptions\n\n /**\n * Second (inverse) column of the join table.\n */\n inverseJoinColumn?: JoinColumnOptions\n\n /**\n * Database where join table will be created.\n * Works only in some databases (like mysql and mssql).\n */\n database?: string\n\n /**\n * Schema where join table will be created.\n * Works only in some databases (like postgres and mssql).\n */\n schema?: string\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../../src/decorator/options/JoinTableOptions.ts"],"names":[],"mappings":"","file":"JoinTableOptions.js","sourcesContent":["import { JoinColumnOptions } from \"./JoinColumnOptions\"\n\n/**\n * Describes join table options.\n */\nexport interface JoinTableOptions {\n /**\n * Name of the table that will be created to store values of the both tables (join table).\n * By default is auto generated.\n */\n name?: string\n\n /**\n * First column of the join table.\n */\n joinColumn?: JoinColumnOptions\n\n /**\n * Second (inverse) column of the join table.\n */\n inverseJoinColumn?: JoinColumnOptions\n\n /**\n * Database where join table will be created.\n * Works only in some databases (like mysql and mssql).\n */\n database?: string\n\n /**\n * Schema where join table will be created.\n * Works only in some databases (like postgres and mssql).\n */\n schema?: string\n\n /**\n * Indicates if schema synchronization is enabled or disabled junction table.\n * If it will be set to false then schema sync will and migrations ignores junction table.\n * By default schema synchronization is enabled.\n */\n synchronize?: boolean\n}\n"],"sourceRoot":"../.."}
@@ -26,6 +26,7 @@ function JoinTable(options) {
26
26
  .inverseJoinColumns),
27
27
  schema: options && options.schema ? options.schema : undefined,
28
28
  database: options && options.database ? options.database : undefined,
29
+ synchronize: !(options && options.synchronize === false),
29
30
  });
30
31
  };
31
32
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/decorator/relations/JoinTable.ts"],"names":[],"mappings":";;;AAAA,2CAAsD;AAyBtD;;;GAGG;AACH,SAAgB,SAAS,CACrB,OAA4D;IAE5D,OAAO,UAAU,MAAc,EAAE,YAAoB;QACjD,OAAO;YACH,OAAO;gBACN,EAAyD,CAAA;QAC9D,IAAA,gCAAsB,GAAE,CAAC,UAAU,CAAC,IAAI,CAAC;YACrC,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY,EAAE,YAAY;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,WAAW,EAAE,CAAC,OAAO,IAAK,OAA4B,CAAC,UAAU;gBAC7D,CAAC,CAAC,CAAE,OAA4B,CAAC,UAAW,CAAC;gBAC7C,CAAC,CAAE,OAA2C;qBACvC,WAAW,CAAQ;YAC9B,kBAAkB,EAAE,CAAC,OAAO;gBAC3B,OAA4B,CAAC,iBAAiB;gBAC3C,CAAC,CAAC,CAAE,OAA4B,CAAC,iBAAkB,CAAC;gBACpD,CAAC,CAAE,OAA2C;qBACvC,kBAAkB,CAAQ;YACrC,MAAM,EAAE,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YAC9D,QAAQ,EACJ,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;SACxC,CAAC,CAAA;IAC/B,CAAC,CAAA;AACL,CAAC;AAzBD,8BAyBC","file":"JoinTable.js","sourcesContent":["import { getMetadataArgsStorage } from \"../../globals\"\nimport { JoinTableMetadataArgs } from \"../../metadata-args/JoinTableMetadataArgs\"\nimport { JoinTableMultipleColumnsOptions } from \"../options/JoinTableMultipleColumnsOptions\"\nimport { JoinTableOptions } from \"../options/JoinTableOptions\"\n\n/**\n * JoinTable decorator is used in many-to-many relationship to specify owner side of relationship.\n * Its also used to set a custom junction table's name, column names and referenced columns.\n */\nexport function JoinTable(): PropertyDecorator\n\n/**\n * JoinTable decorator is used in many-to-many relationship to specify owner side of relationship.\n * Its also used to set a custom junction table's name, column names and referenced columns.\n */\nexport function JoinTable(options: JoinTableOptions): PropertyDecorator\n\n/**\n * JoinTable decorator is used in many-to-many relationship to specify owner side of relationship.\n * Its also used to set a custom junction table's name, column names and referenced columns.\n */\nexport function JoinTable(\n options: JoinTableMultipleColumnsOptions,\n): PropertyDecorator\n\n/**\n * JoinTable decorator is used in many-to-many relationship to specify owner side of relationship.\n * Its also used to set a custom junction table's name, column names and referenced columns.\n */\nexport function JoinTable(\n options?: JoinTableOptions | JoinTableMultipleColumnsOptions,\n): PropertyDecorator {\n return function (object: Object, propertyName: string) {\n options =\n options ||\n ({} as JoinTableOptions | JoinTableMultipleColumnsOptions)\n getMetadataArgsStorage().joinTables.push({\n target: object.constructor,\n propertyName: propertyName,\n name: options.name,\n joinColumns: (options && (options as JoinTableOptions).joinColumn\n ? [(options as JoinTableOptions).joinColumn!]\n : (options as JoinTableMultipleColumnsOptions)\n .joinColumns) as any,\n inverseJoinColumns: (options &&\n (options as JoinTableOptions).inverseJoinColumn\n ? [(options as JoinTableOptions).inverseJoinColumn!]\n : (options as JoinTableMultipleColumnsOptions)\n .inverseJoinColumns) as any,\n schema: options && options.schema ? options.schema : undefined,\n database:\n options && options.database ? options.database : undefined,\n } as JoinTableMetadataArgs)\n }\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../../src/decorator/relations/JoinTable.ts"],"names":[],"mappings":";;;AAAA,2CAAsD;AAyBtD;;;GAGG;AACH,SAAgB,SAAS,CACrB,OAA4D;IAE5D,OAAO,UAAU,MAAc,EAAE,YAAoB;QACjD,OAAO;YACH,OAAO;gBACN,EAAyD,CAAA;QAC9D,IAAA,gCAAsB,GAAE,CAAC,UAAU,CAAC,IAAI,CAAC;YACrC,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY,EAAE,YAAY;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,WAAW,EAAE,CAAC,OAAO,IAAK,OAA4B,CAAC,UAAU;gBAC7D,CAAC,CAAC,CAAE,OAA4B,CAAC,UAAW,CAAC;gBAC7C,CAAC,CAAE,OAA2C;qBACvC,WAAW,CAAQ;YAC9B,kBAAkB,EAAE,CAAC,OAAO;gBAC3B,OAA4B,CAAC,iBAAiB;gBAC3C,CAAC,CAAC,CAAE,OAA4B,CAAC,iBAAkB,CAAC;gBACpD,CAAC,CAAE,OAA2C;qBACvC,kBAAkB,CAAQ;YACrC,MAAM,EAAE,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YAC9D,QAAQ,EACJ,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YAC9D,WAAW,EAAE,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK,CAAC;SAClC,CAAC,CAAA;IAC/B,CAAC,CAAA;AACL,CAAC;AA1BD,8BA0BC","file":"JoinTable.js","sourcesContent":["import { getMetadataArgsStorage } from \"../../globals\"\nimport { JoinTableMetadataArgs } from \"../../metadata-args/JoinTableMetadataArgs\"\nimport { JoinTableMultipleColumnsOptions } from \"../options/JoinTableMultipleColumnsOptions\"\nimport { JoinTableOptions } from \"../options/JoinTableOptions\"\n\n/**\n * JoinTable decorator is used in many-to-many relationship to specify owner side of relationship.\n * Its also used to set a custom junction table's name, column names and referenced columns.\n */\nexport function JoinTable(): PropertyDecorator\n\n/**\n * JoinTable decorator is used in many-to-many relationship to specify owner side of relationship.\n * Its also used to set a custom junction table's name, column names and referenced columns.\n */\nexport function JoinTable(options: JoinTableOptions): PropertyDecorator\n\n/**\n * JoinTable decorator is used in many-to-many relationship to specify owner side of relationship.\n * Its also used to set a custom junction table's name, column names and referenced columns.\n */\nexport function JoinTable(\n options: JoinTableMultipleColumnsOptions,\n): PropertyDecorator\n\n/**\n * JoinTable decorator is used in many-to-many relationship to specify owner side of relationship.\n * Its also used to set a custom junction table's name, column names and referenced columns.\n */\nexport function JoinTable(\n options?: JoinTableOptions | JoinTableMultipleColumnsOptions,\n): PropertyDecorator {\n return function (object: Object, propertyName: string) {\n options =\n options ||\n ({} as JoinTableOptions | JoinTableMultipleColumnsOptions)\n getMetadataArgsStorage().joinTables.push({\n target: object.constructor,\n propertyName: propertyName,\n name: options.name,\n joinColumns: (options && (options as JoinTableOptions).joinColumn\n ? [(options as JoinTableOptions).joinColumn!]\n : (options as JoinTableMultipleColumnsOptions)\n .joinColumns) as any,\n inverseJoinColumns: (options &&\n (options as JoinTableOptions).inverseJoinColumn\n ? [(options as JoinTableOptions).inverseJoinColumn!]\n : (options as JoinTableMultipleColumnsOptions)\n .inverseJoinColumns) as any,\n schema: options && options.schema ? options.schema : undefined,\n database:\n options && options.database ? options.database : undefined,\n synchronize: !(options && options.synchronize === false),\n } as JoinTableMetadataArgs)\n }\n}\n"],"sourceRoot":"../.."}
@@ -88,6 +88,10 @@ export interface Driver {
88
88
  */
89
89
  maxAliasLength?: number;
90
90
  cteCapabilities: CteCapabilities;
91
+ /**
92
+ * Dummy table name
93
+ */
94
+ dummyTableName?: string;
91
95
  /**
92
96
  * Performs connection to the database.
93
97
  * Depend on driver type it may create a connection pool.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/driver/Driver.ts"],"names":[],"mappings":"","file":"Driver.js","sourcesContent":["import { QueryRunner } from \"../query-runner/QueryRunner\"\nimport { ColumnMetadata } from \"../metadata/ColumnMetadata\"\nimport { ObjectLiteral } from \"../common/ObjectLiteral\"\nimport { ColumnType } from \"./types/ColumnTypes\"\nimport { CteCapabilities } from \"./types/CteCapabilities\"\nimport { MappedColumnTypes } from \"./types/MappedColumnTypes\"\nimport { SchemaBuilder } from \"../schema-builder/SchemaBuilder\"\nimport { DataTypeDefaults } from \"./types/DataTypeDefaults\"\nimport { BaseDataSourceOptions } from \"../data-source/BaseDataSourceOptions\"\nimport { TableColumn } from \"../schema-builder/table/TableColumn\"\nimport { EntityMetadata } from \"../metadata/EntityMetadata\"\nimport { ReplicationMode } from \"./types/ReplicationMode\"\nimport { Table } from \"../schema-builder/table/Table\"\nimport { View } from \"../schema-builder/view/View\"\nimport { TableForeignKey } from \"../schema-builder/table/TableForeignKey\"\nimport { UpsertType } from \"./types/UpsertType\"\n\nexport type ReturningType = \"insert\" | \"update\" | \"delete\"\n\n/**\n * Driver organizes TypeORM communication with specific database management system.\n */\nexport interface Driver {\n /**\n * Connection options.\n */\n options: BaseDataSourceOptions\n\n /**\n * Database version/release. Often requires a SQL query to the DB, so it is not always set\n */\n version?: string\n\n /**\n * Database name used to perform all write queries.\n *\n * todo: probably move into query runner.\n */\n database?: string\n\n /**\n * Schema name used to perform all write queries.\n */\n schema?: string\n\n /**\n * Indicates if replication is enabled.\n */\n isReplicated: boolean\n\n /**\n * Indicates if tree tables are supported by this driver.\n */\n treeSupport: boolean\n\n /**\n * Represent transaction support by this driver\n */\n transactionSupport: \"simple\" | \"nested\" | \"none\"\n\n /**\n * Gets list of supported column data types by a driver.\n */\n supportedDataTypes: ColumnType[]\n\n /**\n * Returns type of upsert supported by driver if any\n */\n supportedUpsertType?: UpsertType\n\n /**\n * Default values of length, precision and scale depends on column data type.\n * Used in the cases when length/precision/scale is not specified by user.\n */\n dataTypeDefaults: DataTypeDefaults\n\n /**\n * Gets list of spatial column data types.\n */\n spatialTypes: ColumnType[]\n\n /**\n * Gets list of column data types that support length by a driver.\n */\n withLengthColumnTypes: ColumnType[]\n\n /**\n * Gets list of column data types that support precision by a driver.\n */\n withPrecisionColumnTypes: ColumnType[]\n\n /**\n * Gets list of column data types that support scale by a driver.\n */\n withScaleColumnTypes: ColumnType[]\n\n /**\n * Orm has special columns and we need to know what database column types should be for those types.\n * Column types are driver dependant.\n */\n mappedDataTypes: MappedColumnTypes\n\n /**\n * Max length allowed by the DBMS for aliases (execution of queries).\n */\n maxAliasLength?: number\n\n cteCapabilities: CteCapabilities\n\n /**\n * Performs connection to the database.\n * Depend on driver type it may create a connection pool.\n */\n connect(): Promise<void>\n\n /**\n * Makes any action after connection (e.g. create extensions in Postgres driver).\n */\n afterConnect(): Promise<void>\n\n /**\n * Closes connection with database and releases all resources.\n */\n disconnect(): Promise<void>\n\n /**\n * Synchronizes database schema (creates tables, indices, etc).\n */\n createSchemaBuilder(): SchemaBuilder\n\n /**\n * Creates a query runner used for common queries.\n */\n createQueryRunner(mode: ReplicationMode): QueryRunner\n\n /**\n * Replaces parameters in the given sql with special escaping character\n * and an array of parameter names to be passed to a query.\n */\n escapeQueryWithParameters(\n sql: string,\n parameters: ObjectLiteral,\n nativeParameters: ObjectLiteral,\n ): [string, any[]]\n\n /**\n * Escapes a table name, column name or an alias.\n *\n * todo: probably escape should be able to handle dots in the names and automatically escape them\n */\n escape(name: string): string\n\n /**\n * Build full table name with database name, schema name and table name.\n * E.g. myDB.mySchema.myTable\n */\n buildTableName(\n tableName: string,\n schema?: string,\n database?: string,\n ): string\n\n /**\n * Parse a target table name or other types and return a normalized table definition.\n */\n parseTableName(\n target: EntityMetadata | Table | View | TableForeignKey | string,\n ): { tableName: string; schema?: string; database?: string }\n\n /**\n * Prepares given value to a value to be persisted, based on its column type and metadata.\n */\n preparePersistentValue(value: any, column: ColumnMetadata): any\n\n /**\n * Prepares given value to a value to be persisted, based on its column type.\n */\n prepareHydratedValue(value: any, column: ColumnMetadata): any\n\n /**\n * Transforms type of the given column to a database column type.\n */\n normalizeType(column: {\n type?: ColumnType | string\n length?: number | string\n precision?: number | null\n scale?: number\n isArray?: boolean\n }): string\n\n /**\n * Normalizes \"default\" value of the column.\n */\n normalizeDefault(columnMetadata: ColumnMetadata): string | undefined\n\n /**\n * Normalizes \"isUnique\" value of the column.\n */\n normalizeIsUnique(column: ColumnMetadata): boolean\n\n /**\n * Calculates column length taking into account the default length values.\n */\n getColumnLength(column: ColumnMetadata): string\n\n /**\n * Normalizes \"default\" value of the column.\n */\n createFullType(column: TableColumn): string\n\n /**\n * Obtains a new database connection to a master server.\n * Used for replication.\n * If replication is not setup then returns default connection's database connection.\n */\n obtainMasterConnection(): Promise<any>\n\n /**\n * Obtains a new database connection to a slave server.\n * Used for replication.\n * If replication is not setup then returns master (default) connection's database connection.\n */\n obtainSlaveConnection(): Promise<any>\n\n /**\n * Creates generated map of values generated or returned by database after INSERT query.\n */\n createGeneratedMap(\n metadata: EntityMetadata,\n insertResult: any,\n entityIndex?: number,\n entityNum?: number,\n ): ObjectLiteral | undefined\n\n /**\n * Differentiate columns of this table and columns from the given column metadatas columns\n * and returns only changed.\n */\n findChangedColumns(\n tableColumns: TableColumn[],\n columnMetadatas: ColumnMetadata[],\n ): ColumnMetadata[]\n\n /**\n * Returns true if driver supports RETURNING / OUTPUT statement.\n */\n isReturningSqlSupported(returningType: ReturningType): boolean\n\n /**\n * Returns true if driver supports uuid values generation on its own.\n */\n isUUIDGenerationSupported(): boolean\n\n /**\n * Returns true if driver supports fulltext indices.\n */\n isFullTextColumnTypeSupported(): boolean\n\n /**\n * Creates an escaped parameter.\n */\n createParameter(parameterName: string, index: number): string\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../../src/driver/Driver.ts"],"names":[],"mappings":"","file":"Driver.js","sourcesContent":["import { QueryRunner } from \"../query-runner/QueryRunner\"\nimport { ColumnMetadata } from \"../metadata/ColumnMetadata\"\nimport { ObjectLiteral } from \"../common/ObjectLiteral\"\nimport { ColumnType } from \"./types/ColumnTypes\"\nimport { CteCapabilities } from \"./types/CteCapabilities\"\nimport { MappedColumnTypes } from \"./types/MappedColumnTypes\"\nimport { SchemaBuilder } from \"../schema-builder/SchemaBuilder\"\nimport { DataTypeDefaults } from \"./types/DataTypeDefaults\"\nimport { BaseDataSourceOptions } from \"../data-source/BaseDataSourceOptions\"\nimport { TableColumn } from \"../schema-builder/table/TableColumn\"\nimport { EntityMetadata } from \"../metadata/EntityMetadata\"\nimport { ReplicationMode } from \"./types/ReplicationMode\"\nimport { Table } from \"../schema-builder/table/Table\"\nimport { View } from \"../schema-builder/view/View\"\nimport { TableForeignKey } from \"../schema-builder/table/TableForeignKey\"\nimport { UpsertType } from \"./types/UpsertType\"\n\nexport type ReturningType = \"insert\" | \"update\" | \"delete\"\n\n/**\n * Driver organizes TypeORM communication with specific database management system.\n */\nexport interface Driver {\n /**\n * Connection options.\n */\n options: BaseDataSourceOptions\n\n /**\n * Database version/release. Often requires a SQL query to the DB, so it is not always set\n */\n version?: string\n\n /**\n * Database name used to perform all write queries.\n *\n * todo: probably move into query runner.\n */\n database?: string\n\n /**\n * Schema name used to perform all write queries.\n */\n schema?: string\n\n /**\n * Indicates if replication is enabled.\n */\n isReplicated: boolean\n\n /**\n * Indicates if tree tables are supported by this driver.\n */\n treeSupport: boolean\n\n /**\n * Represent transaction support by this driver\n */\n transactionSupport: \"simple\" | \"nested\" | \"none\"\n\n /**\n * Gets list of supported column data types by a driver.\n */\n supportedDataTypes: ColumnType[]\n\n /**\n * Returns type of upsert supported by driver if any\n */\n supportedUpsertType?: UpsertType\n\n /**\n * Default values of length, precision and scale depends on column data type.\n * Used in the cases when length/precision/scale is not specified by user.\n */\n dataTypeDefaults: DataTypeDefaults\n\n /**\n * Gets list of spatial column data types.\n */\n spatialTypes: ColumnType[]\n\n /**\n * Gets list of column data types that support length by a driver.\n */\n withLengthColumnTypes: ColumnType[]\n\n /**\n * Gets list of column data types that support precision by a driver.\n */\n withPrecisionColumnTypes: ColumnType[]\n\n /**\n * Gets list of column data types that support scale by a driver.\n */\n withScaleColumnTypes: ColumnType[]\n\n /**\n * Orm has special columns and we need to know what database column types should be for those types.\n * Column types are driver dependant.\n */\n mappedDataTypes: MappedColumnTypes\n\n /**\n * Max length allowed by the DBMS for aliases (execution of queries).\n */\n maxAliasLength?: number\n\n cteCapabilities: CteCapabilities\n\n /**\n * Dummy table name\n */\n dummyTableName?: string\n\n /**\n * Performs connection to the database.\n * Depend on driver type it may create a connection pool.\n */\n connect(): Promise<void>\n\n /**\n * Makes any action after connection (e.g. create extensions in Postgres driver).\n */\n afterConnect(): Promise<void>\n\n /**\n * Closes connection with database and releases all resources.\n */\n disconnect(): Promise<void>\n\n /**\n * Synchronizes database schema (creates tables, indices, etc).\n */\n createSchemaBuilder(): SchemaBuilder\n\n /**\n * Creates a query runner used for common queries.\n */\n createQueryRunner(mode: ReplicationMode): QueryRunner\n\n /**\n * Replaces parameters in the given sql with special escaping character\n * and an array of parameter names to be passed to a query.\n */\n escapeQueryWithParameters(\n sql: string,\n parameters: ObjectLiteral,\n nativeParameters: ObjectLiteral,\n ): [string, any[]]\n\n /**\n * Escapes a table name, column name or an alias.\n *\n * todo: probably escape should be able to handle dots in the names and automatically escape them\n */\n escape(name: string): string\n\n /**\n * Build full table name with database name, schema name and table name.\n * E.g. myDB.mySchema.myTable\n */\n buildTableName(\n tableName: string,\n schema?: string,\n database?: string,\n ): string\n\n /**\n * Parse a target table name or other types and return a normalized table definition.\n */\n parseTableName(\n target: EntityMetadata | Table | View | TableForeignKey | string,\n ): { tableName: string; schema?: string; database?: string }\n\n /**\n * Prepares given value to a value to be persisted, based on its column type and metadata.\n */\n preparePersistentValue(value: any, column: ColumnMetadata): any\n\n /**\n * Prepares given value to a value to be persisted, based on its column type.\n */\n prepareHydratedValue(value: any, column: ColumnMetadata): any\n\n /**\n * Transforms type of the given column to a database column type.\n */\n normalizeType(column: {\n type?: ColumnType | string\n length?: number | string\n precision?: number | null\n scale?: number\n isArray?: boolean\n }): string\n\n /**\n * Normalizes \"default\" value of the column.\n */\n normalizeDefault(columnMetadata: ColumnMetadata): string | undefined\n\n /**\n * Normalizes \"isUnique\" value of the column.\n */\n normalizeIsUnique(column: ColumnMetadata): boolean\n\n /**\n * Calculates column length taking into account the default length values.\n */\n getColumnLength(column: ColumnMetadata): string\n\n /**\n * Normalizes \"default\" value of the column.\n */\n createFullType(column: TableColumn): string\n\n /**\n * Obtains a new database connection to a master server.\n * Used for replication.\n * If replication is not setup then returns default connection's database connection.\n */\n obtainMasterConnection(): Promise<any>\n\n /**\n * Obtains a new database connection to a slave server.\n * Used for replication.\n * If replication is not setup then returns master (default) connection's database connection.\n */\n obtainSlaveConnection(): Promise<any>\n\n /**\n * Creates generated map of values generated or returned by database after INSERT query.\n */\n createGeneratedMap(\n metadata: EntityMetadata,\n insertResult: any,\n entityIndex?: number,\n entityNum?: number,\n ): ObjectLiteral | undefined\n\n /**\n * Differentiate columns of this table and columns from the given column metadatas columns\n * and returns only changed.\n */\n findChangedColumns(\n tableColumns: TableColumn[],\n columnMetadatas: ColumnMetadata[],\n ): ColumnMetadata[]\n\n /**\n * Returns true if driver supports RETURNING / OUTPUT statement.\n */\n isReturningSqlSupported(returningType: ReturningType): boolean\n\n /**\n * Returns true if driver supports uuid values generation on its own.\n */\n isUUIDGenerationSupported(): boolean\n\n /**\n * Returns true if driver supports fulltext indices.\n */\n isFullTextColumnTypeSupported(): boolean\n\n /**\n * Creates an escaped parameter.\n */\n createParameter(parameterName: string, index: number): string\n}\n"],"sourceRoot":".."}
@@ -1226,6 +1226,11 @@ class AuroraMysqlQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
1226
1226
  const tableColumn = new TableColumn_1.TableColumn();
1227
1227
  tableColumn.name = dbColumn["COLUMN_NAME"];
1228
1228
  tableColumn.type = dbColumn["DATA_TYPE"].toLowerCase();
1229
+ // Unsigned columns are handled differently when it comes to width.
1230
+ // Hence, we need to set the unsigned attribute before we check the width.
1231
+ tableColumn.unsigned = tableColumn.zerofill
1232
+ ? true
1233
+ : dbColumn["COLUMN_TYPE"].indexOf("unsigned") !== -1;
1229
1234
  if (this.driver.withWidthColumnTypes.indexOf(tableColumn.type) !== -1) {
1230
1235
  const width = dbColumn["COLUMN_TYPE"].substring(dbColumn["COLUMN_TYPE"].indexOf("(") + 1, dbColumn["COLUMN_TYPE"].indexOf(")"));
1231
1236
  tableColumn.width =
@@ -1272,9 +1277,6 @@ class AuroraMysqlQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
1272
1277
  });
1273
1278
  tableColumn.zerofill =
1274
1279
  dbColumn["COLUMN_TYPE"].indexOf("zerofill") !== -1;
1275
- tableColumn.unsigned = tableColumn.zerofill
1276
- ? true
1277
- : dbColumn["COLUMN_TYPE"].indexOf("unsigned") !== -1;
1278
1280
  tableColumn.isGenerated =
1279
1281
  dbColumn["EXTRA"].indexOf("auto_increment") !== -1;
1280
1282
  if (tableColumn.isGenerated)
@@ -1676,7 +1678,22 @@ class AuroraMysqlQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
1676
1678
  this.connection.driver.dataTypeDefaults[column.type] &&
1677
1679
  this.connection.driver.dataTypeDefaults[column.type].width;
1678
1680
  if (defaultWidthForType) {
1679
- return defaultWidthForType === width;
1681
+ // In MariaDB & MySQL 5.7, the default widths of certain numeric types are 1 less than
1682
+ // the usual defaults when the column is unsigned.
1683
+ // This also applies to Aurora MySQL.
1684
+ const typesWithReducedUnsignedDefault = [
1685
+ "int",
1686
+ "tinyint",
1687
+ "smallint",
1688
+ "mediumint",
1689
+ ];
1690
+ const needsAdjustment = typesWithReducedUnsignedDefault.indexOf(column.type) !== -1;
1691
+ if (column.unsigned && needsAdjustment) {
1692
+ return defaultWidthForType - 1 === width;
1693
+ }
1694
+ else {
1695
+ return defaultWidthForType === width;
1696
+ }
1680
1697
  }
1681
1698
  return false;
1682
1699
  }