@contember/schema-migrations 1.3.0-alpha.7 → 1.3.0-alpha.8

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 (214) hide show
  1. package/dist/src/MigrationDescriber.d.ts +4 -4
  2. package/dist/src/MigrationDescriber.d.ts.map +1 -1
  3. package/dist/src/MigrationDescriber.js +8 -7
  4. package/dist/src/MigrationDescriber.js.map +1 -1
  5. package/dist/src/SchemaDiffer.js +3 -2
  6. package/dist/src/SchemaDiffer.js.map +1 -1
  7. package/dist/src/SchemaMigrator.d.ts +1 -2
  8. package/dist/src/SchemaMigrator.d.ts.map +1 -1
  9. package/dist/src/SchemaMigrator.js +0 -1
  10. package/dist/src/SchemaMigrator.js.map +1 -1
  11. package/dist/src/modifications/ModificationHandler.d.ts +9 -5
  12. package/dist/src/modifications/ModificationHandler.d.ts.map +1 -1
  13. package/dist/src/modifications/ModificationHandler.js.map +1 -1
  14. package/dist/src/modifications/ModificationHandlerFactory.d.ts +2 -2
  15. package/dist/src/modifications/ModificationHandlerFactory.d.ts.map +1 -1
  16. package/dist/src/modifications/ModificationHandlerFactory.js +2 -0
  17. package/dist/src/modifications/ModificationHandlerFactory.js.map +1 -1
  18. package/dist/src/modifications/ModificationVersions.d.ts +4 -3
  19. package/dist/src/modifications/ModificationVersions.d.ts.map +1 -1
  20. package/dist/src/modifications/ModificationVersions.js +5 -4
  21. package/dist/src/modifications/ModificationVersions.js.map +1 -1
  22. package/dist/src/modifications/columns/UpdateColumnDefinitionModification.d.ts.map +1 -1
  23. package/dist/src/modifications/columns/UpdateColumnDefinitionModification.js +3 -3
  24. package/dist/src/modifications/columns/UpdateColumnDefinitionModification.js.map +1 -1
  25. package/dist/src/modifications/constraints/CreateUniqueConstraintModification.d.ts +3 -3
  26. package/dist/src/modifications/constraints/CreateUniqueConstraintModification.d.ts.map +1 -1
  27. package/dist/src/modifications/constraints/CreateUniqueConstraintModification.js +20 -32
  28. package/dist/src/modifications/constraints/CreateUniqueConstraintModification.js.map +1 -1
  29. package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.d.ts +11 -5
  30. package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.d.ts.map +1 -1
  31. package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.js +37 -9
  32. package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.js.map +1 -1
  33. package/dist/src/modifications/constraints/utils.d.ts +7 -0
  34. package/dist/src/modifications/constraints/utils.d.ts.map +1 -0
  35. package/dist/src/modifications/constraints/utils.js +33 -0
  36. package/dist/src/modifications/constraints/utils.js.map +1 -0
  37. package/dist/src/modifications/entities/CreateEntityModification.d.ts +4 -4
  38. package/dist/src/modifications/entities/CreateEntityModification.d.ts.map +1 -1
  39. package/dist/src/modifications/entities/CreateEntityModification.js +18 -14
  40. package/dist/src/modifications/entities/CreateEntityModification.js.map +1 -1
  41. package/dist/src/modifications/entities/CreateViewModification.d.ts +2 -2
  42. package/dist/src/modifications/entities/CreateViewModification.d.ts.map +1 -1
  43. package/dist/src/modifications/entities/CreateViewModification.js +14 -10
  44. package/dist/src/modifications/entities/CreateViewModification.js.map +1 -1
  45. package/dist/src/modifications/entities/RemoveEntityModification.d.ts +3 -4
  46. package/dist/src/modifications/entities/RemoveEntityModification.d.ts.map +1 -1
  47. package/dist/src/modifications/entities/RemoveEntityModification.js +3 -2
  48. package/dist/src/modifications/entities/RemoveEntityModification.js.map +1 -1
  49. package/dist/src/modifications/entities/ToggleEventLogModification.d.ts +2 -2
  50. package/dist/src/modifications/entities/ToggleEventLogModification.d.ts.map +1 -1
  51. package/dist/src/modifications/entities/ToggleEventLogModification.js +3 -3
  52. package/dist/src/modifications/entities/ToggleEventLogModification.js.map +1 -1
  53. package/dist/src/modifications/entities/UpdateEntityNameModification.d.ts +4 -5
  54. package/dist/src/modifications/entities/UpdateEntityNameModification.d.ts.map +1 -1
  55. package/dist/src/modifications/entities/UpdateEntityNameModification.js +3 -34
  56. package/dist/src/modifications/entities/UpdateEntityNameModification.js.map +1 -1
  57. package/dist/src/modifications/fields/RemoveFieldModification.js.map +1 -1
  58. package/dist/src/modifications/fields/UpdateFieldNameModification.d.ts +4 -5
  59. package/dist/src/modifications/fields/UpdateFieldNameModification.d.ts.map +1 -1
  60. package/dist/src/modifications/fields/UpdateFieldNameModification.js +18 -42
  61. package/dist/src/modifications/fields/UpdateFieldNameModification.js.map +1 -1
  62. package/dist/src/modifications/indexes/CreateIndexModification.d.ts +5 -5
  63. package/dist/src/modifications/indexes/CreateIndexModification.d.ts.map +1 -1
  64. package/dist/src/modifications/indexes/CreateIndexModification.js +24 -35
  65. package/dist/src/modifications/indexes/CreateIndexModification.js.map +1 -1
  66. package/dist/src/modifications/indexes/RemoveIndexModification.d.ts +12 -6
  67. package/dist/src/modifications/indexes/RemoveIndexModification.d.ts.map +1 -1
  68. package/dist/src/modifications/indexes/RemoveIndexModification.js +36 -10
  69. package/dist/src/modifications/indexes/RemoveIndexModification.js.map +1 -1
  70. package/dist/src/modifications/indexes/utils.d.ts +7 -0
  71. package/dist/src/modifications/indexes/utils.d.ts.map +1 -0
  72. package/dist/src/modifications/indexes/utils.js +33 -0
  73. package/dist/src/modifications/indexes/utils.js.map +1 -0
  74. package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.d.ts +3 -4
  75. package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.d.ts.map +1 -1
  76. package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.js +10 -10
  77. package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.js.map +1 -1
  78. package/dist/src/modifications/relations/ConvertOneToManyRelationModification.d.ts +3 -4
  79. package/dist/src/modifications/relations/ConvertOneToManyRelationModification.d.ts.map +1 -1
  80. package/dist/src/modifications/relations/ConvertOneToManyRelationModification.js +14 -12
  81. package/dist/src/modifications/relations/ConvertOneToManyRelationModification.js.map +1 -1
  82. package/dist/src/modifications/relations/CreateRelationModification.d.ts +3 -4
  83. package/dist/src/modifications/relations/CreateRelationModification.d.ts.map +1 -1
  84. package/dist/src/modifications/relations/CreateRelationModification.js +13 -17
  85. package/dist/src/modifications/relations/CreateRelationModification.js.map +1 -1
  86. package/dist/src/modifications/relations/ToggleJunctionEventLogModification.d.ts +3 -4
  87. package/dist/src/modifications/relations/ToggleJunctionEventLogModification.d.ts.map +1 -1
  88. package/dist/src/modifications/relations/ToggleJunctionEventLogModification.js +4 -5
  89. package/dist/src/modifications/relations/ToggleJunctionEventLogModification.js.map +1 -1
  90. package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.d.ts +2 -2
  91. package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.d.ts.map +1 -1
  92. package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.js +3 -3
  93. package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.js.map +1 -1
  94. package/dist/src/modifications/relations/helpers.d.ts +4 -1
  95. package/dist/src/modifications/relations/helpers.d.ts.map +1 -1
  96. package/dist/src/modifications/relations/helpers.js +20 -17
  97. package/dist/src/modifications/relations/helpers.js.map +1 -1
  98. package/dist/src/modifications/upgrade/RemoveIndexNamesModification.d.ts +19 -0
  99. package/dist/src/modifications/upgrade/RemoveIndexNamesModification.d.ts.map +1 -0
  100. package/dist/src/modifications/upgrade/RemoveIndexNamesModification.js +40 -0
  101. package/dist/src/modifications/upgrade/RemoveIndexNamesModification.js.map +1 -0
  102. package/dist/src/modifications/utils/createJunctionTable.d.ts +2 -3
  103. package/dist/src/modifications/utils/createJunctionTable.d.ts.map +1 -1
  104. package/dist/src/modifications/utils/createJunctionTable.js +4 -6
  105. package/dist/src/modifications/utils/createJunctionTable.js.map +1 -1
  106. package/dist/src/modifications/utils/schemaUpdateUtils.d.ts +2 -4
  107. package/dist/src/modifications/utils/schemaUpdateUtils.d.ts.map +1 -1
  108. package/dist/src/modifications/utils/schemaUpdateUtils.js +5 -20
  109. package/dist/src/modifications/utils/schemaUpdateUtils.js.map +1 -1
  110. package/dist/src/modifications/utils/stringArrayEquals.d.ts +2 -0
  111. package/dist/src/modifications/utils/stringArrayEquals.d.ts.map +1 -0
  112. package/dist/src/modifications/utils/stringArrayEquals.js +9 -0
  113. package/dist/src/modifications/utils/stringArrayEquals.js.map +1 -0
  114. package/dist/src/tsconfig.tsbuildinfo +1 -1
  115. package/dist/src/utils/PartialEntity.d.ts +5 -3
  116. package/dist/src/utils/PartialEntity.d.ts.map +1 -1
  117. package/dist/tests/cases/integration/convertOneHasManyToManyHasManyRelation.test.js +1 -1
  118. package/dist/tests/cases/integration/convertOneToManyRelation.test.js +5 -5
  119. package/dist/tests/cases/integration/convertOneToManyRelation.test.js.map +1 -1
  120. package/dist/tests/cases/integration/createAndDropIndex.test.js +4 -4
  121. package/dist/tests/cases/integration/createAndDropIndex.test.js.map +1 -1
  122. package/dist/tests/cases/integration/createEntity.test.js +6 -9
  123. package/dist/tests/cases/integration/createEntity.test.js.map +1 -1
  124. package/dist/tests/cases/integration/createManyHasMany.test.js +3 -3
  125. package/dist/tests/cases/integration/createManyHasOne.test.js +4 -4
  126. package/dist/tests/cases/integration/createManyHasOne.test.js.map +1 -1
  127. package/dist/tests/cases/integration/createOneHasMany.test.js +6 -9
  128. package/dist/tests/cases/integration/createOneHasMany.test.js.map +1 -1
  129. package/dist/tests/cases/integration/createOneHasOne.test.js +6 -6
  130. package/dist/tests/cases/integration/createRelationInverseSide.test.js +1 -1
  131. package/dist/tests/cases/integration/createRelationInverseSide.test.js.map +1 -1
  132. package/dist/tests/cases/integration/createView.test.js +6 -6
  133. package/dist/tests/cases/integration/removeField.test.js +6 -6
  134. package/dist/tests/cases/integration/removeField.test.js.map +1 -1
  135. package/dist/tests/cases/integration/updateColumnDefinition.test.js +4 -4
  136. package/dist/tests/cases/integration/updateEntityName.test.js +1 -20
  137. package/dist/tests/cases/integration/updateEntityName.test.js.map +1 -1
  138. package/dist/tests/cases/integration/updateFieldName.test.js +1 -21
  139. package/dist/tests/cases/integration/updateFieldName.test.js.map +1 -1
  140. package/dist/tests/cases/integration/updateRelationOnDelete.test.js +2 -2
  141. package/dist/tests/cases/integration/updateRelationOnDelete.test.js.map +1 -1
  142. package/dist/tests/cases/integration/updateView.test.js +18 -18
  143. package/dist/tests/scripts/checkCreateConsistentMigrations.js +1 -1
  144. package/dist/tests/scripts/checkCreateConsistentMigrations.js.map +1 -1
  145. package/dist/tests/src/tests.d.ts.map +1 -1
  146. package/dist/tests/src/tests.js +10 -4
  147. package/dist/tests/src/tests.js.map +1 -1
  148. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  149. package/package.json +6 -7
  150. package/src/MigrationDescriber.ts +11 -9
  151. package/src/SchemaDiffer.ts +3 -3
  152. package/src/SchemaMigrator.ts +1 -3
  153. package/src/modifications/ModificationHandler.ts +10 -5
  154. package/src/modifications/ModificationHandlerFactory.ts +12 -11
  155. package/src/modifications/ModificationVersions.ts +4 -3
  156. package/src/modifications/columns/UpdateColumnDefinitionModification.ts +1 -2
  157. package/src/modifications/constraints/CreateUniqueConstraintModification.ts +31 -40
  158. package/src/modifications/constraints/RemoveUniqueConstraintModification.ts +60 -15
  159. package/src/modifications/constraints/utils.ts +36 -0
  160. package/src/modifications/entities/CreateEntityModification.ts +9 -8
  161. package/src/modifications/entities/CreateViewModification.ts +4 -3
  162. package/src/modifications/entities/RemoveEntityModification.ts +5 -5
  163. package/src/modifications/entities/ToggleEventLogModification.ts +4 -3
  164. package/src/modifications/entities/UpdateEntityNameModification.ts +10 -46
  165. package/src/modifications/fields/RemoveFieldModification.ts +1 -1
  166. package/src/modifications/fields/UpdateFieldNameModification.ts +30 -57
  167. package/src/modifications/indexes/CreateIndexModification.ts +35 -41
  168. package/src/modifications/indexes/RemoveIndexModification.ts +57 -17
  169. package/src/modifications/indexes/utils.ts +30 -0
  170. package/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.ts +7 -19
  171. package/src/modifications/relations/ConvertOneToManyRelationModification.ts +21 -22
  172. package/src/modifications/relations/CreateRelationModification.ts +20 -35
  173. package/src/modifications/relations/ToggleJunctionEventLogModification.ts +4 -5
  174. package/src/modifications/relations/UpdateRelationOnDeleteModification.ts +13 -5
  175. package/src/modifications/relations/helpers.ts +27 -22
  176. package/src/modifications/upgrade/RemoveIndexNamesModification.ts +46 -0
  177. package/src/modifications/utils/createJunctionTable.ts +8 -8
  178. package/src/modifications/utils/schemaUpdateUtils.ts +5 -17
  179. package/src/modifications/utils/stringArrayEquals.ts +4 -0
  180. package/src/tsconfig.json +0 -1
  181. package/src/utils/PartialEntity.ts +7 -1
  182. package/tests/cases/integration/convertOneHasManyToManyHasManyRelation.test.ts +1 -1
  183. package/tests/cases/integration/convertOneToManyRelation.test.ts +5 -5
  184. package/tests/cases/integration/createAndDropIndex.test.ts +4 -4
  185. package/tests/cases/integration/createEntity.test.ts +6 -9
  186. package/tests/cases/integration/createManyHasMany.test.ts +3 -3
  187. package/tests/cases/integration/createManyHasOne.test.ts +4 -4
  188. package/tests/cases/integration/createOneHasMany.test.ts +6 -9
  189. package/tests/cases/integration/createOneHasOne.test.ts +6 -6
  190. package/tests/cases/integration/createRelationInverseSide.test.ts +1 -1
  191. package/tests/cases/integration/createView.test.ts +6 -6
  192. package/tests/cases/integration/removeField.test.ts +6 -6
  193. package/tests/cases/integration/updateColumnDefinition.test.ts +4 -4
  194. package/tests/cases/integration/updateEntityName.test.ts +1 -20
  195. package/tests/cases/integration/updateFieldName.test.ts +1 -21
  196. package/tests/cases/integration/updateRelationOnDelete.test.ts +2 -2
  197. package/tests/cases/integration/updateView.test.ts +18 -18
  198. package/tests/scripts/checkCreateConsistentMigrations.ts +1 -1
  199. package/tests/src/tests.ts +13 -8
  200. package/dist/src/modifications/utils/renameConstraintsHelper.d.ts +0 -8
  201. package/dist/src/modifications/utils/renameConstraintsHelper.d.ts.map +0 -1
  202. package/dist/src/modifications/utils/renameConstraintsHelper.js +0 -31
  203. package/dist/src/modifications/utils/renameConstraintsHelper.js.map +0 -1
  204. package/dist/src/modifications/utils/schemaMeta.d.ts +0 -8
  205. package/dist/src/modifications/utils/schemaMeta.d.ts.map +0 -1
  206. package/dist/src/modifications/utils/schemaMeta.js +0 -13
  207. package/dist/src/modifications/utils/schemaMeta.js.map +0 -1
  208. package/dist/tests/cases/integration/takenIndexName.test.d.ts +0 -2
  209. package/dist/tests/cases/integration/takenIndexName.test.d.ts.map +0 -1
  210. package/dist/tests/cases/integration/takenIndexName.test.js +0 -307
  211. package/dist/tests/cases/integration/takenIndexName.test.js.map +0 -1
  212. package/src/modifications/utils/renameConstraintsHelper.ts +0 -34
  213. package/src/modifications/utils/schemaMeta.ts +0 -18
  214. package/tests/cases/integration/takenIndexName.test.ts +0 -314
@@ -1,16 +1,15 @@
1
1
  import { MigrationBuilder } from '@contember/database-migrations';
2
+ import { Schema } from '@contember/schema';
2
3
  import { SchemaUpdater } from '../utils/schemaUpdateUtils';
3
- import { ModificationHandler, ModificationHandlerOptions } from '../ModificationHandler';
4
- import { SchemaWithMeta } from '../utils/schemaMeta';
4
+ import { ModificationHandler, ModificationHandlerCreateSqlOptions, ModificationHandlerOptions } from '../ModificationHandler';
5
5
  export declare class UpdateFieldNameModificationHandler implements ModificationHandler<UpdateFieldNameModificationData> {
6
6
  private readonly data;
7
7
  private readonly schema;
8
8
  private readonly options;
9
9
  private renameColumnSubModification;
10
- constructor(data: UpdateFieldNameModificationData, schema: SchemaWithMeta, options: ModificationHandlerOptions);
11
- createSql(builder: MigrationBuilder): void;
10
+ constructor(data: UpdateFieldNameModificationData, schema: Schema, options: ModificationHandlerOptions);
11
+ createSql(builder: MigrationBuilder, options: ModificationHandlerCreateSqlOptions): void;
12
12
  getSchemaUpdater(): SchemaUpdater;
13
- private getNewConstraintName;
14
13
  describe(): {
15
14
  message: string;
16
15
  };
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateFieldNameModification.d.ts","sourceRoot":"","sources":["../../../../src/modifications/fields/UpdateFieldNameModification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAEjE,OAAO,EACN,aAAa,EAWb,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAA0B,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAA;AAWhH,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,qBAAa,kCAAmC,YAAW,mBAAmB,CAAC,+BAA+B,CAAC;IAI7G,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IALzB,OAAO,CAAC,2BAA2B,CAAmD;gBAGpE,IAAI,EAAE,+BAA+B,EACrC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,0BAA0B;IAW9C,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IA4B1C,gBAAgB,IAAI,aAAa;IA+HxC,OAAO,CAAC,oBAAoB;IAW5B,QAAQ;;;CAGR;AAED,MAAM,WAAW,+BAA+B;IAC/C,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,eAAO,MAAM,2BAA2B,uGAGtC,CAAA"}
1
+ {"version":3,"file":"UpdateFieldNameModification.d.ts","sourceRoot":"","sources":["../../../../src/modifications/fields/UpdateFieldNameModification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAgB,MAAM,EAAS,MAAM,mBAAmB,CAAA;AAC/D,OAAO,EACN,aAAa,EAWb,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAEN,mBAAmB,EACnB,mCAAmC,EACnC,0BAA0B,EAC1B,MAAM,wBAAwB,CAAA;AAW/B,qBAAa,kCAAmC,YAAW,mBAAmB,CAAC,+BAA+B,CAAC;IAI7G,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IALzB,OAAO,CAAC,2BAA2B,CAAmD;gBAGpE,IAAI,EAAE,+BAA+B,EACrC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,0BAA0B;IAW9C,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,mCAAmC,GAAG,IAAI;IAQxF,gBAAgB,IAAI,aAAa;IAgIxC,QAAQ;;;CAGR;AAED,MAAM,WAAW,+BAA+B;IAC/C,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,eAAO,MAAM,2BAA2B,uGAGtC,CAAA"}
@@ -5,7 +5,6 @@ const schemaUpdateUtils_1 = require("../utils/schemaUpdateUtils");
5
5
  const ModificationHandler_1 = require("../ModificationHandler");
6
6
  const schema_utils_1 = require("@contember/schema-utils");
7
7
  const ModificationVersions_1 = require("../ModificationVersions");
8
- const renameConstraintsHelper_1 = require("../utils/renameConstraintsHelper");
9
8
  const valueUtils_1 = require("../utils/valueUtils");
10
9
  const columns_1 = require("../columns");
11
10
  const NoopModification_1 = require("../NoopModification");
@@ -23,46 +22,33 @@ class UpdateFieldNameModificationHandler {
23
22
  }, this.schema, this.options);
24
23
  }
25
24
  }
26
- createSql(builder) {
25
+ createSql(builder, options) {
27
26
  const entity = this.schema.model.entities[this.data.entityName];
28
27
  if (entity.view) {
29
28
  return;
30
29
  }
31
- if (this.options.formatVersion >= ModificationVersions_1.VERSION_UPDATE_CONSTRAINT_NAME) {
32
- (0, renameConstraintsHelper_1.renameConstraintsSqlBuilder)(builder, entity, this.getNewConstraintName.bind(this));
33
- }
34
- if (this.options.formatVersion >= ModificationVersions_1.VERSION_UPDATE_CONSTRAINT_NAME_ONE_HAS_ONE) {
35
- (0, schema_utils_1.acceptFieldVisitor)(this.schema.model, this.data.entityName, this.data.fieldName, {
36
- visitColumn: () => { },
37
- visitManyHasManyOwning: () => { },
38
- visitManyHasManyInverse: () => { },
39
- visitOneHasOneInverse: () => { },
40
- visitManyHasOne: () => { },
41
- visitOneHasMany: () => { },
42
- visitOneHasOneOwning: ({ relation }) => {
43
- const uniqueConstraintName = schema_utils_1.NamingHelper.createUniqueConstraintName(entity.name, [relation.name]);
44
- const newUniqueConstraintName = schema_utils_1.NamingHelper.createUniqueConstraintName(entity.name, [this.data.newFieldName]);
45
- builder.renameConstraint(entity.tableName, uniqueConstraintName, newUniqueConstraintName);
46
- },
47
- });
48
- }
49
- this.renameColumnSubModification.createSql(builder);
30
+ this.renameColumnSubModification.createSql(builder, options);
50
31
  }
51
32
  getSchemaUpdater() {
52
- const updateConstraintName = this.options.formatVersion >= ModificationVersions_1.VERSION_UPDATE_CONSTRAINT_NAME
53
- ? (0, schemaUpdateUtils_1.updateEntity)(this.data.entityName, (0, renameConstraintsHelper_1.renameConstraintSchemaUpdater)(this.getNewConstraintName.bind(this)))
33
+ const updateConstraintFields = this.options.formatVersion >= ModificationVersions_1.VERSION_UPDATE_CONSTRAINT_FIELDS
34
+ ? (0, schemaUpdateUtils_1.updateEntity)(this.data.entityName, ({ entity }) => {
35
+ return {
36
+ ...entity,
37
+ unique: entity.unique.map(unique => ({
38
+ ...unique,
39
+ fields: unique.fields.map((0, valueUtils_1.changeValue)(this.data.fieldName, this.data.newFieldName)),
40
+ })),
41
+ };
42
+ })
54
43
  : undefined;
55
- const updateConstraintFields = this.options.formatVersion >= ModificationVersions_1.VERSION_UPDATE_CONSTRAINT_NAME
44
+ const updateIndexFields = this.options.formatVersion >= ModificationVersions_1.VERSION_UPDATE_INDEX_FIELDS
56
45
  ? (0, schemaUpdateUtils_1.updateEntity)(this.data.entityName, ({ entity }) => {
57
46
  return {
58
47
  ...entity,
59
- unique: Object.fromEntries(Object.entries(entity.unique).map(([name, unique]) => [
60
- name,
61
- {
62
- ...unique,
63
- fields: unique.fields.map((0, valueUtils_1.changeValue)(this.data.fieldName, this.data.newFieldName)),
64
- },
65
- ])),
48
+ indexes: entity.indexes.map(unique => ({
49
+ ...unique,
50
+ fields: unique.fields.map((0, valueUtils_1.changeValue)(this.data.fieldName, this.data.newFieldName)),
51
+ })),
66
52
  };
67
53
  })
68
54
  : undefined;
@@ -140,17 +126,7 @@ class UpdateFieldNameModificationHandler {
140
126
  });
141
127
  }))))
142
128
  : undefined;
143
- return (0, schemaUpdateUtils_1.updateSchema)(updateAclOp, this.renameColumnSubModification.getSchemaUpdater(), (0, schemaUpdateUtils_1.updateModel)(updateConstraintName, updateConstraintFields, updateRelationReferences, updateFieldName));
144
- }
145
- getNewConstraintName(constraint) {
146
- const generatedName = schema_utils_1.NamingHelper.createUniqueConstraintName(this.data.entityName, constraint.fields);
147
- const isGenerated = constraint.name === generatedName;
148
- if (!isGenerated) {
149
- null;
150
- }
151
- const newFieldNames = constraint.fields.map((0, valueUtils_1.changeValue)(this.data.fieldName, this.data.newFieldName));
152
- const newName = schema_utils_1.NamingHelper.createUniqueConstraintName(this.data.entityName, newFieldNames);
153
- return newName === constraint.name ? null : newName;
129
+ return (0, schemaUpdateUtils_1.updateSchema)(updateAclOp, this.renameColumnSubModification.getSchemaUpdater(), (0, schemaUpdateUtils_1.updateModel)(updateConstraintFields, updateIndexFields, updateRelationReferences, updateFieldName));
154
130
  }
155
131
  describe() {
156
132
  return { message: `Change field name ${this.data.entityName}.${this.data.fieldName} to ${this.data.newFieldName}` };
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateFieldNameModification.js","sourceRoot":"","sources":["../../../../src/modifications/fields/UpdateFieldNameModification.ts"],"names":[],"mappings":";;;AAEA,kEAYmC;AACnC,gEAAgH;AAChH,0DAAwG;AACxG,kEAIgC;AAChC,8EAA6G;AAC7G,oDAAiD;AACjD,wCAAyD;AACzD,0DAAsD;AAGtD,MAAa,kCAAkC;IAG9C,YACkB,IAAqC,EACrC,MAAsB,EACtB,OAAmC;QAFnC,SAAI,GAAJ,IAAI,CAAiC;QACrC,WAAM,GAAN,MAAM,CAAgB;QACtB,YAAO,GAAP,OAAO,CAA4B;QAL7C,gCAA2B,GAA6B,IAAI,mCAAgB,EAAE,CAAA;QAOrF,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACzB,IAAI,CAAC,2BAA2B,GAAG,sCAA4B,CAAC,aAAa,CAAC;gBAC7E,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;gBAChC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;gBAChC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;aAC9B,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;SAC7B;IACF,CAAC;IAEM,SAAS,CAAC,OAAyB;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC/D,IAAI,MAAM,CAAC,IAAI,EAAE;YAChB,OAAM;SACN;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,qDAA8B,EAAE;YACjE,IAAA,qDAA2B,EAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;SAClF;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,iEAA0C,EAAE;YAC7E,IAAA,iCAAkB,EAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACjF,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC;gBACrB,sBAAsB,EAAE,GAAG,EAAE,GAAE,CAAC;gBAChC,uBAAuB,EAAE,GAAG,EAAE,GAAE,CAAC;gBACjC,qBAAqB,EAAE,GAAG,EAAE,GAAE,CAAC;gBAC/B,eAAe,EAAE,GAAG,EAAE,GAAE,CAAC;gBACzB,eAAe,EAAE,GAAG,EAAE,GAAE,CAAC;gBACzB,oBAAoB,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;oBACtC,MAAM,oBAAoB,GAAG,2BAAY,CAAC,0BAA0B,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;oBAClG,MAAM,uBAAuB,GAAG,2BAAY,CAAC,0BAA0B,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAA;oBAC9G,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,EAAE,oBAAoB,EAAE,uBAAuB,CAAC,CAAA;gBAC1F,CAAC;aACD,CAAC,CAAA;SACF;QAED,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IACpD,CAAC;IAEM,gBAAgB;QACtB,MAAM,oBAAoB,GACzB,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,qDAA8B;YAC3D,CAAC,CAAC,IAAA,gCAAY,EAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAA,uDAA6B,EAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACzG,CAAC,CAAC,SAAS,CAAA;QACb,MAAM,sBAAsB,GAC3B,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,qDAA8B;YAC3D,CAAC,CAAC,IAAA,gCAAY,EAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;gBACnD,OAAO;oBACN,GAAG,MAAM;oBACT,MAAM,EAAE,MAAM,CAAC,WAAW,CACzB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;wBACrD,IAAI;wBACJ;4BACC,GAAG,MAAM;4BACT,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAA,wBAAW,EAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;yBACnF;qBACD,CAAC,CACF;iBACD,CAAA;YACA,CAAC,CAAC;YACJ,CAAC,CAAC,SAAS,CAAA;QAEb,MAAM,wBAAwB,GAAG,IAAA,qCAAiB,EACjD,IAAA,oCAAgB,EAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;YACtC,MAAM,iBAAiB,GAAG,CAAC,MAAoB,EAAE,QAAkC,EAAE,EAAE;gBACtF,OAAO,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,CAAA;YACjG,CAAC,CAAA;YAED,OAAO,IAAA,iCAAkB,EAAiB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;gBAC3E,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM;gBACnC,eAAe,EAAE,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE;oBAC/D,OAAO,iBAAiB,CAAC,YAAY,EAAE,cAAc,CAAC;wBACrD,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;wBACrD,CAAC,CAAC,QAAQ,CAAA;gBACZ,CAAC;gBACD,eAAe,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,EAAE;oBAC/D,OAAO,iBAAiB,CAAC,YAAY,EAAE,cAAc,CAAC;wBACrD,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;wBAClD,CAAC,CAAC,QAAQ,CAAA;gBACZ,CAAC;gBACD,oBAAoB,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,EAAE;oBACpE,OAAO,iBAAiB,CAAC,YAAY,EAAE,cAAc,CAAC;wBACrD,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;wBACrD,CAAC,CAAC,QAAQ,CAAA;gBACZ,CAAC;gBACD,qBAAqB,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,EAAE;oBACrE,OAAO,iBAAiB,CAAC,YAAY,EAAE,cAAc,CAAC;wBACrD,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;wBAClD,CAAC,CAAC,QAAQ,CAAA;gBACZ,CAAC;gBACD,sBAAsB,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,EAAE;oBACtE,OAAO,iBAAiB,CAAC,YAAY,EAAE,cAAc,CAAC;wBACrD,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;wBACrD,CAAC,CAAC,QAAQ,CAAA;gBACZ,CAAC;gBACD,uBAAuB,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,EAAE;oBACvE,OAAO,iBAAiB,CAAC,YAAY,EAAE,cAAc,CAAC;wBACrD,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;wBAClD,CAAC,CAAC,QAAQ,CAAA;gBACZ,CAAC;aACD,CAAC,CAAA;QACH,CAAC,CAAC,CACF,CAAA;QACD,MAAM,eAAe,GAAG,IAAA,gCAAY,EAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;YACzE,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAA;YACnE,OAAO;gBACN,GAAG,MAAM;gBACT,MAAM,EAAE;oBACP,GAAG,MAAM;oBACT,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;iBACtE;aACD,CAAA;QACF,CAAC,CAAC,CAAA;QACF,MAAM,WAAW,GAChB,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,wCAAiB;YAC9C,CAAC,CAAC,IAAA,6BAAS,EACV,IAAA,sCAAkB,EACjB,IAAA,wCAAoB,EACnB,IAAA,6CAAyB,EAAC,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE;gBACrD,IAAI,UAAU,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;oBACxC,OAAO,WAAW,CAAA;iBAClB;gBACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;oBACtC,OAAO,WAAW,CAAA;iBAClB;gBACD,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,GAAG,WAAW,CAAA;gBAC9D,OAAO;oBACN,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,KAAK;oBAC/B,GAAG,KAAK;iBACR,CAAA;YACF,CAAC,CAAC,EACF,IAAA,2CAAuB,EAAC,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE;gBAC7D,MAAM,SAAS,GAAG,IAAI,2CAA4B,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBAChE,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;gBACvD,OAAO,SAAS,CAAC,OAAO,CACvB,aAAa,EACb,SAAS,EACT;oBACC,YAAY,EAAE,GAAG,CAAC,EAAE,CACnB,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS;wBAClF,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC;wBACrC,CAAC,CAAC,GAAG,CAAC,KAAK;oBACb,cAAc,EAAE,GAAG,CAAC,EAAE,CACrB,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS;wBACpF,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC;wBACrC,CAAC,CAAC,GAAG,CAAC,KAAK;iBACb,CACD,CAAA;YACF,CAAC,CAAC,CACF,CACD,CACC;YACH,CAAC,CAAC,SAAS,CAAA;QACb,OAAO,IAAA,gCAAY,EAClB,WAAW,EACX,IAAI,CAAC,2BAA2B,CAAC,gBAAgB,EAAE,EACnD,IAAA,+BAAW,EACV,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,eAAe,CACf,CACD,CAAA;IACF,CAAC;IAGO,oBAAoB,CAAC,UAAkC;QAC9D,MAAM,aAAa,GAAG,2BAAY,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;QACtG,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,KAAK,aAAa,CAAA;QACrD,IAAI,CAAC,WAAW,EAAE;YACjB,IAAI,CAAA;SACJ;QACD,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,IAAA,wBAAW,EAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAA;QACrG,MAAM,OAAO,GAAG,2BAAY,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAA;QAC5F,OAAO,OAAO,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAA;IACpD,CAAC;IAED,QAAQ;QACP,OAAO,EAAE,OAAO,EAAE,qBAAqB,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAA;IACpH,CAAC;CACD;AA1LD,gFA0LC;AASY,QAAA,2BAA2B,GAAG,IAAA,4CAAsB,EAAC;IACjE,EAAE,EAAE,iBAAiB;IACrB,OAAO,EAAE,kCAAkC;CAC3C,CAAC,CAAA"}
1
+ {"version":3,"file":"UpdateFieldNameModification.js","sourceRoot":"","sources":["../../../../src/modifications/fields/UpdateFieldNameModification.ts"],"names":[],"mappings":";;;AAEA,kEAYmC;AACnC,gEAK+B;AAC/B,0DAA0F;AAC1F,kEAIgC;AAChC,oDAAiD;AACjD,wCAAyD;AACzD,0DAAsD;AAEtD,MAAa,kCAAkC;IAG9C,YACkB,IAAqC,EACrC,MAAc,EACd,OAAmC;QAFnC,SAAI,GAAJ,IAAI,CAAiC;QACrC,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAA4B;QAL7C,gCAA2B,GAA6B,IAAI,mCAAgB,EAAE,CAAA;QAOrF,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACzB,IAAI,CAAC,2BAA2B,GAAG,sCAA4B,CAAC,aAAa,CAAC;gBAC7E,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;gBAChC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;gBAChC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;aAC9B,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;SAC7B;IACF,CAAC;IAEM,SAAS,CAAC,OAAyB,EAAE,OAA4C;QACvF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC/D,IAAI,MAAM,CAAC,IAAI,EAAE;YAChB,OAAM;SACN;QACD,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC7D,CAAC;IAEM,gBAAgB;QACtB,MAAM,sBAAsB,GAC3B,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,uDAAgC;YAC7D,CAAC,CAAC,IAAA,gCAAY,EAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;gBACnD,OAAO;oBACN,GAAG,MAAM;oBACT,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;wBACpC,GAAG,MAAM;wBACT,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAA,wBAAW,EAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;qBACnF,CAAC,CAAC;iBACH,CAAA;YACA,CAAC,CAAC;YACJ,CAAC,CAAC,SAAS,CAAA;QACb,MAAM,iBAAiB,GACtB,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,kDAA2B;YACxD,CAAC,CAAC,IAAA,gCAAY,EAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;gBACnD,OAAO;oBACN,GAAG,MAAM;oBACT,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;wBACtC,GAAG,MAAM;wBACT,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAA,wBAAW,EAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;qBACnF,CAAC,CAAC;iBACH,CAAA;YACF,CAAC,CAAC;YACF,CAAC,CAAC,SAAS,CAAA;QACb,MAAM,wBAAwB,GAAG,IAAA,qCAAiB,EACjD,IAAA,oCAAgB,EAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;YACtC,MAAM,iBAAiB,GAAG,CAAC,MAAoB,EAAE,QAAkC,EAAE,EAAE;gBACtF,OAAO,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,CAAA;YACjG,CAAC,CAAA;YAED,OAAO,IAAA,iCAAkB,EAAiB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;gBAC3E,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM;gBACnC,eAAe,EAAE,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE;oBAC/D,OAAO,iBAAiB,CAAC,YAAY,EAAE,cAAc,CAAC;wBACrD,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;wBACrD,CAAC,CAAC,QAAQ,CAAA;gBACZ,CAAC;gBACD,eAAe,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,EAAE;oBAC/D,OAAO,iBAAiB,CAAC,YAAY,EAAE,cAAc,CAAC;wBACrD,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;wBAClD,CAAC,CAAC,QAAQ,CAAA;gBACZ,CAAC;gBACD,oBAAoB,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,EAAE;oBACpE,OAAO,iBAAiB,CAAC,YAAY,EAAE,cAAc,CAAC;wBACrD,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;wBACrD,CAAC,CAAC,QAAQ,CAAA;gBACZ,CAAC;gBACD,qBAAqB,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,EAAE;oBACrE,OAAO,iBAAiB,CAAC,YAAY,EAAE,cAAc,CAAC;wBACrD,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;wBAClD,CAAC,CAAC,QAAQ,CAAA;gBACZ,CAAC;gBACD,sBAAsB,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,EAAE;oBACtE,OAAO,iBAAiB,CAAC,YAAY,EAAE,cAAc,CAAC;wBACrD,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;wBACrD,CAAC,CAAC,QAAQ,CAAA;gBACZ,CAAC;gBACD,uBAAuB,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,EAAE;oBACvE,OAAO,iBAAiB,CAAC,YAAY,EAAE,cAAc,CAAC;wBACrD,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;wBAClD,CAAC,CAAC,QAAQ,CAAA;gBACZ,CAAC;aACD,CAAC,CAAA;QACH,CAAC,CAAC,CACF,CAAA;QACD,MAAM,eAAe,GAAG,IAAA,gCAAY,EAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;YACzE,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAA;YACnE,OAAO;gBACN,GAAG,MAAM;gBACT,MAAM,EAAE;oBACP,GAAG,MAAM;oBACT,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;iBACtE;aACD,CAAA;QACF,CAAC,CAAC,CAAA;QACF,MAAM,WAAW,GAChB,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,wCAAiB;YAC9C,CAAC,CAAC,IAAA,6BAAS,EACV,IAAA,sCAAkB,EACjB,IAAA,wCAAoB,EACnB,IAAA,6CAAyB,EAAC,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE;gBACrD,IAAI,UAAU,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;oBACxC,OAAO,WAAW,CAAA;iBAClB;gBACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;oBACtC,OAAO,WAAW,CAAA;iBAClB;gBACD,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,GAAG,WAAW,CAAA;gBAC9D,OAAO;oBACN,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,KAAK;oBAC/B,GAAG,KAAK;iBACR,CAAA;YACF,CAAC,CAAC,EACF,IAAA,2CAAuB,EAAC,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE;gBAC7D,MAAM,SAAS,GAAG,IAAI,2CAA4B,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBAChE,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;gBACvD,OAAO,SAAS,CAAC,OAAO,CACvB,aAAa,EACb,SAAS,EACT;oBACC,YAAY,EAAE,GAAG,CAAC,EAAE,CACnB,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS;wBAClF,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC;wBACrC,CAAC,CAAC,GAAG,CAAC,KAAK;oBACb,cAAc,EAAE,GAAG,CAAC,EAAE,CACrB,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS;wBACpF,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC;wBACrC,CAAC,CAAC,GAAG,CAAC,KAAK;iBACb,CACD,CAAA;YACF,CAAC,CAAC,CACF,CACD,CACC;YACH,CAAC,CAAC,SAAS,CAAA;QACb,OAAO,IAAA,gCAAY,EAClB,WAAW,EACX,IAAI,CAAC,2BAA2B,CAAC,gBAAgB,EAAE,EACnD,IAAA,+BAAW,EACV,sBAAsB,EACtB,iBAAiB,EACjB,wBAAwB,EACxB,eAAe,CACf,CACD,CAAA;IACF,CAAC;IAED,QAAQ;QACP,OAAO,EAAE,OAAO,EAAE,qBAAqB,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAA;IACpH,CAAC;CACD;AA5JD,gFA4JC;AASY,QAAA,2BAA2B,GAAG,IAAA,4CAAsB,EAAC;IACjE,EAAE,EAAE,iBAAiB;IACrB,OAAO,EAAE,kCAAkC;CAC3C,CAAC,CAAA"}
@@ -1,23 +1,23 @@
1
1
  import { MigrationBuilder } from '@contember/database-migrations';
2
2
  import { Model, Schema } from '@contember/schema';
3
3
  import { SchemaUpdater } from '../utils/schemaUpdateUtils';
4
- import { Differ, ModificationHandler } from '../ModificationHandler';
4
+ import { Differ, ModificationHandler, ModificationHandlerCreateSqlOptions } from '../ModificationHandler';
5
5
  export declare class CreateIndexModificationHandler implements ModificationHandler<CreateIndexModificationData> {
6
6
  private readonly data;
7
7
  private readonly schema;
8
8
  constructor(data: CreateIndexModificationData, schema: Schema);
9
- createSql(builder: MigrationBuilder): void;
9
+ createSql(builder: MigrationBuilder, { databaseMetadata, invalidateDatabaseMetadata }: ModificationHandlerCreateSqlOptions): void;
10
10
  getSchemaUpdater(): SchemaUpdater;
11
11
  describe(): {
12
12
  message: string;
13
13
  };
14
14
  }
15
15
  export declare const createIndexModification: import("../ModificationHandler").ModificationType<"createIndex", CreateIndexModificationData>;
16
- export declare class CreateIndexDiffer implements Differ {
17
- createDiff(originalSchema: Schema, updatedSchema: Schema): import("../../Migration").Migration.Modification<CreateIndexModificationData>[];
18
- }
19
16
  export interface CreateIndexModificationData {
20
17
  entityName: string;
21
18
  index: Model.Index;
22
19
  }
20
+ export declare class CreateIndexDiffer implements Differ {
21
+ createDiff(originalSchema: Schema, updatedSchema: Schema): import("../../Migration").Migration.Modification<CreateIndexModificationData>[];
22
+ }
23
23
  //# sourceMappingURL=CreateIndexModification.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CreateIndexModification.d.ts","sourceRoot":"","sources":["../../../../src/modifications/indexes/CreateIndexModification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,aAAa,EAA6B,MAAM,4BAA4B,CAAA;AACrF,OAAO,EAA0B,MAAM,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAG5F,qBAAa,8BAA+B,YAAW,mBAAmB,CAAC,2BAA2B,CAAC;IAC1F,OAAO,CAAC,QAAQ,CAAC,IAAI;IAA+B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAA1D,IAAI,EAAE,2BAA2B,EAAmB,MAAM,EAAE,MAAM;IAExF,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAoC1C,gBAAgB,IAAI,aAAa;IAYxC,QAAQ;;;CAKR;AAED,eAAO,MAAM,uBAAuB,+FAGlC,CAAA;AAEF,qBAAa,iBAAkB,YAAW,MAAM;IAC/C,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;CAOxD;AAED,MAAM,WAAW,2BAA2B;IAC3C,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAA;CAClB"}
1
+ {"version":3,"file":"CreateIndexModification.d.ts","sourceRoot":"","sources":["../../../../src/modifications/indexes/CreateIndexModification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,aAAa,EAA6B,MAAM,4BAA4B,CAAA;AACrF,OAAO,EAEN,MAAM,EACN,mBAAmB,EACnB,mCAAmC,EACnC,MAAM,wBAAwB,CAAA;AAK/B,qBAAa,8BAA+B,YAAW,mBAAmB,CAAC,2BAA2B,CAAC;IAC1F,OAAO,CAAC,QAAQ,CAAC,IAAI;IAA+B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAA1D,IAAI,EAAE,2BAA2B,EAAmB,MAAM,EAAE,MAAM;IAExF,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,EAAE,mCAAmC,GAAG,IAAI;IAoBjI,gBAAgB,IAAI,aAAa;IAYxC,QAAQ;;;CAKR;AAED,eAAO,MAAM,uBAAuB,+FAGlC,CAAA;AAEF,MAAM,WAAW,2BAA2B;IAC3C,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAA;CAClB;AAED,qBAAa,iBAAkB,YAAW,MAAM;IAC/C,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;CAUxD"}
@@ -1,56 +1,42 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.CreateIndexDiffer = exports.createIndexModification = exports.CreateIndexModificationHandler = void 0;
4
7
  const schemaUpdateUtils_1 = require("../utils/schemaUpdateUtils");
5
8
  const ModificationHandler_1 = require("../ModificationHandler");
6
- const schema_utils_1 = require("@contember/schema-utils");
9
+ const dbHelpers_1 = require("../../utils/dbHelpers");
10
+ const utils_1 = require("./utils");
11
+ const fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
7
12
  class CreateIndexModificationHandler {
8
13
  constructor(data, schema) {
9
14
  this.data = data;
10
15
  this.schema = schema;
11
16
  }
12
- createSql(builder) {
17
+ createSql(builder, { databaseMetadata, invalidateDatabaseMetadata }) {
13
18
  const entity = this.schema.model.entities[this.data.entityName];
14
19
  if (entity.view) {
15
20
  return;
16
21
  }
17
22
  const fields = this.data.index.fields;
18
- const columns = fields.map(fieldName => {
19
- return (0, schema_utils_1.acceptFieldVisitor)(this.schema.model, entity, fieldName, {
20
- visitColumn: ({ column }) => {
21
- return column.columnName;
22
- },
23
- visitManyHasOne: ({ relation }) => {
24
- return relation.joiningColumn.columnName;
25
- },
26
- visitOneHasOneOwning: ({ relation }) => {
27
- return relation.joiningColumn.columnName;
28
- },
29
- visitOneHasMany: () => {
30
- throw new Error(`Cannot create index on 1:m relation in ${entity.name}.${fieldName}`);
31
- },
32
- visitOneHasOneInverse: () => {
33
- throw new Error(`Cannot create index on 1:1 inverse relation in ${entity.name}.${fieldName}`);
34
- },
35
- visitManyHasManyOwning: () => {
36
- throw new Error(`Cannot create index on m:m relation in ${entity.name}.${fieldName}`);
37
- },
38
- visitManyHasManyInverse: () => {
39
- throw new Error(`Cannot create index on m:m inverse relation in ${entity.name}.${fieldName}`);
40
- },
41
- });
42
- });
43
- builder.addIndex(entity.tableName, [...columns], {
44
- name: this.data.index.name,
23
+ const columns = (0, utils_1.getIndexColumns)({
24
+ fields,
25
+ entity,
26
+ model: this.schema.model,
45
27
  });
28
+ const tableNameId = (0, dbHelpers_1.wrapIdentifier)(entity.tableName);
29
+ const columnNameIds = columns.map(dbHelpers_1.wrapIdentifier);
30
+ builder.sql(`CREATE INDEX ON ${tableNameId} (${columnNameIds.join(', ')})`);
31
+ invalidateDatabaseMetadata();
46
32
  }
47
33
  getSchemaUpdater() {
48
34
  return (0, schemaUpdateUtils_1.updateModel)((0, schemaUpdateUtils_1.updateEntity)(this.data.entityName, ({ entity }) => ({
49
35
  ...entity,
50
- indexes: {
36
+ indexes: [
51
37
  ...entity.indexes,
52
- [this.data.index.name]: this.data.index,
53
- },
38
+ this.data.index,
39
+ ],
54
40
  })));
55
41
  }
56
42
  describe() {
@@ -66,9 +52,12 @@ exports.createIndexModification = (0, ModificationHandler_1.createModificationTy
66
52
  });
67
53
  class CreateIndexDiffer {
68
54
  createDiff(originalSchema, updatedSchema) {
69
- return Object.values(updatedSchema.model.entities).flatMap(entity => Object.values(entity.indexes)
70
- .filter(it => !originalSchema.model.entities[entity.name].indexes[it.name])
71
- .map(index => exports.createIndexModification.createModification({ entityName: entity.name, index })));
55
+ return Object.values(updatedSchema.model.entities).flatMap(entity => entity.indexes
56
+ .filter(it => !originalSchema.model.entities[entity.name].indexes.find(idx => (0, fast_deep_equal_1.default)(idx.fields, it.fields)))
57
+ .map(index => exports.createIndexModification.createModification({
58
+ entityName: entity.name,
59
+ index,
60
+ })));
72
61
  }
73
62
  }
74
63
  exports.CreateIndexDiffer = CreateIndexDiffer;
@@ -1 +1 @@
1
- {"version":3,"file":"CreateIndexModification.js","sourceRoot":"","sources":["../../../../src/modifications/indexes/CreateIndexModification.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CreateIndexModification.js","sourceRoot":"","sources":["../../../../src/modifications/indexes/CreateIndexModification.ts"],"names":[],"mappings":";;;;;;AAEA,kEAAqF;AACrF,gEAK+B;AAC/B,qDAAsD;AACtD,mCAAyC;AACzC,sEAAuC;AAEvC,MAAa,8BAA8B;IAC1C,YAA6B,IAAiC,EAAmB,MAAc;QAAlE,SAAI,GAAJ,IAAI,CAA6B;QAAmB,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAE5F,SAAS,CAAC,OAAyB,EAAE,EAAE,gBAAgB,EAAE,0BAA0B,EAAuC;QAChI,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC/D,IAAI,MAAM,CAAC,IAAI,EAAE;YAChB,OAAM;SACN;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;QACrC,MAAM,OAAO,GAAG,IAAA,uBAAe,EAAC;YAC/B,MAAM;YACN,MAAM;YACN,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;SACxB,CAAC,CAAA;QAEF,MAAM,WAAW,GAAG,IAAA,0BAAc,EAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QACpD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,0BAAc,CAAC,CAAA;QAEjD,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,KAAK,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAE3E,0BAA0B,EAAE,CAAA;IAC7B,CAAC;IAEM,gBAAgB;QACtB,OAAO,IAAA,+BAAW,EACjB,IAAA,gCAAY,EAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;YACnD,GAAG,MAAM;YACT,OAAO,EAAE;gBACR,GAAG,MAAM,CAAC,OAAO;gBACjB,IAAI,CAAC,IAAI,CAAC,KAAK;aACf;SACD,CAAC,CAAC,CACH,CAAA;IACF,CAAC;IAED,QAAQ;QACP,OAAO;YACN,OAAO,EAAE,gBAAgB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;SAC/F,CAAA;IACF,CAAC;CACD;AAxCD,wEAwCC;AAEY,QAAA,uBAAuB,GAAG,IAAA,4CAAsB,EAAC;IAC7D,EAAE,EAAE,aAAa;IACjB,OAAO,EAAE,8BAA8B;CACvC,CAAC,CAAA;AAOF,MAAa,iBAAiB;IAC7B,UAAU,CAAC,cAAsB,EAAE,aAAqB;QACvD,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CACnE,MAAM,CAAC,OAAO;aACZ,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAA,yBAAS,EAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;aAC/G,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,+BAAuB,CAAC,kBAAkB,CAAC;YACxD,UAAU,EAAE,MAAM,CAAC,IAAI;YACvB,KAAK;SACL,CAAC,CAAC,CACJ,CAAA;IACF,CAAC;CACD;AAXD,8CAWC"}
@@ -1,23 +1,29 @@
1
1
  import { MigrationBuilder } from '@contember/database-migrations';
2
2
  import { Schema } from '@contember/schema';
3
3
  import { SchemaUpdater } from '../utils/schemaUpdateUtils';
4
- import { Differ, ModificationHandler } from '../ModificationHandler';
4
+ import { Differ, ModificationHandler, ModificationHandlerCreateSqlOptions } from '../ModificationHandler';
5
5
  export declare class RemoveIndexModificationHandler implements ModificationHandler<RemoveIndexModificationData> {
6
6
  private readonly data;
7
7
  private readonly schema;
8
8
  constructor(data: RemoveIndexModificationData, schema: Schema);
9
- createSql(builder: MigrationBuilder): void;
9
+ createSql(builder: MigrationBuilder, { databaseMetadata, invalidateDatabaseMetadata }: ModificationHandlerCreateSqlOptions): void;
10
10
  getSchemaUpdater(): SchemaUpdater;
11
11
  describe(): {
12
12
  message: string;
13
13
  };
14
+ getFields(): readonly string[];
14
15
  }
15
16
  export declare const removeIndexModification: import("../ModificationHandler").ModificationType<"removeIndex", RemoveIndexModificationData>;
16
- export declare class RemoveIndexDiffer implements Differ {
17
- createDiff(originalSchema: Schema, updatedSchema: Schema): import("../../Migration").Migration.Modification<RemoveIndexModificationData>[];
18
- }
19
- export interface RemoveIndexModificationData {
17
+ export declare type RemoveIndexModificationData = {
20
18
  entityName: string;
21
19
  indexName: string;
20
+ fields?: never;
21
+ } | {
22
+ entityName: string;
23
+ fields: readonly string[];
24
+ indexName?: never;
25
+ };
26
+ export declare class RemoveIndexDiffer implements Differ {
27
+ createDiff(originalSchema: Schema, updatedSchema: Schema): import("../../Migration").Migration.Modification<RemoveIndexModificationData>[];
22
28
  }
23
29
  //# sourceMappingURL=RemoveIndexModification.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RemoveIndexModification.d.ts","sourceRoot":"","sources":["../../../../src/modifications/indexes/RemoveIndexModification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,aAAa,EAA6B,MAAM,4BAA4B,CAAA;AACrF,OAAO,EAA0B,MAAM,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAG5F,qBAAa,8BAA+B,YAAW,mBAAmB,CAAC,2BAA2B,CAAC;IAC1F,OAAO,CAAC,QAAQ,CAAC,IAAI;IAA+B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAA1D,IAAI,EAAE,2BAA2B,EAAmB,MAAM,EAAE,MAAM;IAExF,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAU1C,gBAAgB,IAAI,aAAa;IAYxC,QAAQ;;;CAIR;AAED,eAAO,MAAM,uBAAuB,+FAGlC,CAAA;AAGF,qBAAa,iBAAkB,YAAW,MAAM;IAE/C,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;CAiBxD;AAED,MAAM,WAAW,2BAA2B;IAC3C,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;CACjB"}
1
+ {"version":3,"file":"RemoveIndexModification.d.ts","sourceRoot":"","sources":["../../../../src/modifications/indexes/RemoveIndexModification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,aAAa,EAA6B,MAAM,4BAA4B,CAAA;AACrF,OAAO,EAEN,MAAM,EACN,mBAAmB,EACnB,mCAAmC,EACnC,MAAM,wBAAwB,CAAA;AAK/B,qBAAa,8BAA+B,YAAW,mBAAmB,CAAC,2BAA2B,CAAC;IAC1F,OAAO,CAAC,QAAQ,CAAC,IAAI;IAA+B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAA1D,IAAI,EAAE,2BAA2B,EAAmB,MAAM,EAAE,MAAM;IAExF,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,EAAE,mCAAmC,GAAG,IAAI;IAqBjI,gBAAgB,IAAI,aAAa;IAaxC,QAAQ;;;IAKR,SAAS;CAUT;AAED,eAAO,MAAM,uBAAuB,+FAGlC,CAAA;AAGF,oBAAY,2BAA2B,GACpC;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,KAAK,CAAA;CACd,GACC;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;IACzB,SAAS,CAAC,EAAE,KAAK,CAAA;CACjB,CAAA;AAEF,qBAAa,iBAAkB,YAAW,MAAM;IAE/C,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;CAoBxD"}
@@ -7,23 +7,34 @@ exports.RemoveIndexDiffer = exports.removeIndexModification = exports.RemoveInde
7
7
  const schemaUpdateUtils_1 = require("../utils/schemaUpdateUtils");
8
8
  const ModificationHandler_1 = require("../ModificationHandler");
9
9
  const fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
10
+ const utils_1 = require("./utils");
11
+ const dbHelpers_1 = require("../../utils/dbHelpers");
10
12
  class RemoveIndexModificationHandler {
11
13
  constructor(data, schema) {
12
14
  this.data = data;
13
15
  this.schema = schema;
14
16
  }
15
- createSql(builder) {
17
+ createSql(builder, { databaseMetadata, invalidateDatabaseMetadata }) {
16
18
  const entity = this.schema.model.entities[this.data.entityName];
17
19
  if (entity.view) {
18
20
  return;
19
21
  }
20
- builder.dropIndex(entity.tableName, [], {
21
- name: this.data.indexName,
22
+ const fields = this.getFields();
23
+ const columns = (0, utils_1.getIndexColumns)({
24
+ entity,
25
+ fields,
26
+ model: this.schema.model,
22
27
  });
28
+ const indexNames = databaseMetadata.getIndexNames({ tableName: entity.tableName, columnNames: columns });
29
+ for (const name of indexNames) {
30
+ builder.sql(`DROP INDEX ${(0, dbHelpers_1.wrapIdentifier)(name)}`);
31
+ }
32
+ invalidateDatabaseMetadata();
23
33
  }
24
34
  getSchemaUpdater() {
35
+ const fields = this.getFields();
25
36
  return (0, schemaUpdateUtils_1.updateModel)((0, schemaUpdateUtils_1.updateEntity)(this.data.entityName, ({ entity }) => {
26
- const { [this.data.indexName]: removed, ...indexes } = entity.indexes;
37
+ const indexes = entity.indexes.filter(it => !(0, fast_deep_equal_1.default)(it.fields, fields));
27
38
  return {
28
39
  ...entity,
29
40
  indexes,
@@ -31,9 +42,20 @@ class RemoveIndexModificationHandler {
31
42
  }));
32
43
  }
33
44
  describe() {
34
- const fields = this.schema.model.entities[this.data.entityName].indexes[this.data.indexName].fields;
45
+ const fields = this.getFields();
35
46
  return { message: `Remove index (${fields.join(', ')}) on entity ${this.data.entityName}` };
36
47
  }
48
+ getFields() {
49
+ var _a;
50
+ const entity = this.schema.model.entities[this.data.entityName];
51
+ const fields = 'indexName' in this.data
52
+ ? (_a = entity.indexes.find(it => it.name === this.data.indexName)) === null || _a === void 0 ? void 0 : _a.fields
53
+ : this.data.fields;
54
+ if (!fields) {
55
+ throw new Error();
56
+ }
57
+ return fields;
58
+ }
37
59
  }
38
60
  exports.RemoveIndexModificationHandler = RemoveIndexModificationHandler;
39
61
  exports.removeIndexModification = (0, ModificationHandler_1.createModificationType)({
@@ -42,13 +64,17 @@ exports.removeIndexModification = (0, ModificationHandler_1.createModificationTy
42
64
  });
43
65
  class RemoveIndexDiffer {
44
66
  createDiff(originalSchema, updatedSchema) {
45
- return Object.values(originalSchema.model.entities).flatMap(entity => Object.values(entity.indexes)
46
- .filter(it => updatedSchema.model.entities[entity.name] &&
47
- (!updatedSchema.model.entities[entity.name].indexes[it.name] ||
48
- !(0, fast_deep_equal_1.default)(it.fields, updatedSchema.model.entities[entity.name].indexes[it.name].fields)))
67
+ return Object.values(originalSchema.model.entities).flatMap(entity => entity.indexes
68
+ .filter(it => {
69
+ const updatedEntity = updatedSchema.model.entities[entity.name];
70
+ if (!updatedEntity) {
71
+ return false;
72
+ }
73
+ return !updatedEntity.indexes.find(index => (0, fast_deep_equal_1.default)(index.fields, it.fields));
74
+ })
49
75
  .map(index => exports.removeIndexModification.createModification({
50
76
  entityName: entity.name,
51
- indexName: index.name,
77
+ fields: index.fields,
52
78
  })));
53
79
  }
54
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RemoveIndexModification.js","sourceRoot":"","sources":["../../../../src/modifications/indexes/RemoveIndexModification.ts"],"names":[],"mappings":";;;;;;AAEA,kEAAqF;AACrF,gEAA4F;AAC5F,sEAAuC;AAEvC,MAAa,8BAA8B;IAC1C,YAA6B,IAAiC,EAAmB,MAAc;QAAlE,SAAI,GAAJ,IAAI,CAA6B;QAAmB,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAE5F,SAAS,CAAC,OAAyB;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC/D,IAAI,MAAM,CAAC,IAAI,EAAE;YAChB,OAAM;SACN;QACD,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,EAAE;YACvC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;SACzB,CAAC,CAAA;IACH,CAAC;IAEM,gBAAgB;QACtB,OAAO,IAAA,+BAAW,EACjB,IAAA,gCAAY,EAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;YACjD,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,CAAA;YACrE,OAAO;gBACN,GAAG,MAAM;gBACT,OAAO;aACP,CAAA;QACF,CAAC,CAAC,CACF,CAAA;IACF,CAAC;IAED,QAAQ;QACP,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAA;QACnG,OAAO,EAAE,OAAO,EAAE,iBAAiB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAA;IAC5F,CAAC;CACD;AA7BD,wEA6BC;AAEY,QAAA,uBAAuB,GAAG,IAAA,4CAAsB,EAAC;IAC7D,EAAE,EAAE,aAAa;IACjB,OAAO,EAAE,8BAA8B;CACvC,CAAC,CAAA;AAGF,MAAa,iBAAiB;IAE7B,UAAU,CAAC,cAAsB,EAAE,aAAqB;QACvD,OAAO,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CACpE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;aAC3B,MAAM,CACN,EAAE,CAAC,EAAE,CACJ,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;YACzC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC;gBAC3D,CAAC,IAAA,yBAAS,EAAC,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAC3F;aACA,GAAG,CAAC,KAAK,CAAC,EAAE,CACZ,+BAAuB,CAAC,kBAAkB,CAAC;YAC1C,UAAU,EAAE,MAAM,CAAC,IAAI;YACvB,SAAS,EAAE,KAAK,CAAC,IAAI;SACrB,CAAC,CACF,CACF,CAAA;IACF,CAAC;CACD;AAnBD,8CAmBC"}
1
+ {"version":3,"file":"RemoveIndexModification.js","sourceRoot":"","sources":["../../../../src/modifications/indexes/RemoveIndexModification.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Model } from '@contember/schema';
2
+ export declare const getIndexColumns: ({ entity, fields, model }: {
3
+ fields: readonly string[];
4
+ model: Model.Schema;
5
+ entity: Model.Entity;
6
+ }) => string[];
7
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/modifications/indexes/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzC,eAAO,MAAM,eAAe;YAAyC,SAAS,MAAM,EAAE;WAAS,MAAM,MAAM;YAAU,MAAM,MAAM;cA0BhI,CAAA"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getIndexColumns = void 0;
4
+ const schema_utils_1 = require("@contember/schema-utils");
5
+ const getIndexColumns = ({ entity, fields, model }) => {
6
+ return fields.map(fieldName => {
7
+ return (0, schema_utils_1.acceptFieldVisitor)(model, entity, fieldName, {
8
+ visitColumn: ({ column }) => {
9
+ return column.columnName;
10
+ },
11
+ visitManyHasOne: ({ relation }) => {
12
+ return relation.joiningColumn.columnName;
13
+ },
14
+ visitOneHasOneOwning: ({ relation }) => {
15
+ return relation.joiningColumn.columnName;
16
+ },
17
+ visitOneHasMany: () => {
18
+ throw new Error(`Cannot create index on 1:m relation in ${entity.name}.${fieldName}`);
19
+ },
20
+ visitOneHasOneInverse: () => {
21
+ throw new Error(`Cannot create index on 1:1 inverse relation in ${entity.name}.${fieldName}`);
22
+ },
23
+ visitManyHasManyOwning: () => {
24
+ throw new Error(`Cannot create index on m:m relation in ${entity.name}.${fieldName}`);
25
+ },
26
+ visitManyHasManyInverse: () => {
27
+ throw new Error(`Cannot create index on m:m inverse relation in ${entity.name}.${fieldName}`);
28
+ },
29
+ });
30
+ });
31
+ };
32
+ exports.getIndexColumns = getIndexColumns;
33
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/modifications/indexes/utils.ts"],"names":[],"mappings":";;;AAAA,0DAA4D;AAGrD,MAAM,eAAe,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAA4E,EAAE,EAAE;IACtI,OAAO,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;QAC7B,OAAO,IAAA,iCAAkB,EAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE;YACnD,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;gBAC3B,OAAO,MAAM,CAAC,UAAU,CAAA;YACzB,CAAC;YACD,eAAe,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;gBACjC,OAAO,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAA;YACzC,CAAC;YACD,oBAAoB,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;gBACtC,OAAO,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAA;YACzC,CAAC;YACD,eAAe,EAAE,GAAG,EAAE;gBACrB,MAAM,IAAI,KAAK,CAAC,0CAA0C,MAAM,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC,CAAA;YACtF,CAAC;YACD,qBAAqB,EAAE,GAAG,EAAE;gBAC3B,MAAM,IAAI,KAAK,CAAC,kDAAkD,MAAM,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC,CAAA;YAC9F,CAAC;YACD,sBAAsB,EAAE,GAAG,EAAE;gBAC5B,MAAM,IAAI,KAAK,CAAC,0CAA0C,MAAM,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC,CAAA;YACtF,CAAC;YACD,uBAAuB,EAAE,GAAG,EAAE;gBAC7B,MAAM,IAAI,KAAK,CAAC,kDAAkD,MAAM,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC,CAAA;YAC9F,CAAC;SACD,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;AACH,CAAC,CAAA;AA1BY,QAAA,eAAe,mBA0B3B"}
@@ -1,16 +1,15 @@
1
1
  import { MigrationBuilder } from '@contember/database-migrations';
2
2
  import { Model, Schema } from '@contember/schema';
3
3
  import { SchemaUpdater } from '../utils/schemaUpdateUtils';
4
- import { Differ, ModificationHandler, ModificationHandlerOptions } from '../ModificationHandler';
4
+ import { Differ, ModificationHandler, ModificationHandlerCreateSqlOptions, ModificationHandlerOptions } from '../ModificationHandler';
5
5
  import { PartialManyHasManyRelation } from './normalization';
6
- import { SchemaWithMeta } from '../utils/schemaMeta';
7
6
  export declare class ConvertOneHasManyToManyHasManyRelationModificationHandler implements ModificationHandler<ConvertOneHasManyToManyHasManyRelationModificationData> {
8
7
  private readonly data;
9
8
  private readonly schema;
10
9
  private readonly options;
11
10
  private subModification;
12
- constructor(data: ConvertOneHasManyToManyHasManyRelationModificationData, schema: SchemaWithMeta, options: ModificationHandlerOptions);
13
- createSql(builder: MigrationBuilder): void;
11
+ constructor(data: ConvertOneHasManyToManyHasManyRelationModificationData, schema: Schema, options: ModificationHandlerOptions);
12
+ createSql(builder: MigrationBuilder, { systemSchema }: ModificationHandlerCreateSqlOptions): void;
14
13
  getSchemaUpdater(): SchemaUpdater;
15
14
  describe(): {
16
15
  message: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ConvertOneHasManyToManyHasManyRelationModification.d.ts","sourceRoot":"","sources":["../../../../src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAGN,aAAa,EAIb,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAEN,MAAM,EACN,mBAAmB,EACnB,0BAA0B,EAC1B,MAAM,wBAAwB,CAAA;AAK/B,OAAO,EAAgC,0BAA0B,EAAE,MAAM,iBAAiB,CAAA;AAE1F,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,qBAAa,yDAA0D,YAAW,mBAAmB,CAAC,sDAAsD,CAAC;IAI3J,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IALzB,OAAO,CAAC,eAAe,CAA0B;gBAG/B,IAAI,EAAE,sDAAsD,EAC5D,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,0BAA0B;IAa9C,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAmB1C,gBAAgB,IAAI,aAAa;IAUxC,QAAQ;;;IASR,OAAO,CAAC,WAAW;CAQnB;AAED,eAAO,MAAM,kDAAkD,qJAG7D,CAAA;AAEF,MAAM,WAAW,sDAAsD;IACtE,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,0BAA0B,CAAA;IACtC,WAAW,CAAC,EAAE,KAAK,CAAC,0BAA0B,CAAA;CAC9C;AAED,qBAAa,4CAA6C,YAAW,MAAM;IAC1E,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;CAwBxD"}
1
+ {"version":3,"file":"ConvertOneHasManyToManyHasManyRelationModification.d.ts","sourceRoot":"","sources":["../../../../src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAY,aAAa,EAA2C,MAAM,4BAA4B,CAAA;AAC7G,OAAO,EAEN,MAAM,EACN,mBAAmB,EAAE,mCAAmC,EACxD,0BAA0B,EAC1B,MAAM,wBAAwB,CAAA;AAK/B,OAAO,EAAgC,0BAA0B,EAAE,MAAM,iBAAiB,CAAA;AAG1F,qBAAa,yDAA0D,YAAW,mBAAmB,CAAC,sDAAsD,CAAC;IAI3J,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IALzB,OAAO,CAAC,eAAe,CAA0B;gBAG/B,IAAI,EAAE,sDAAsD,EAC5D,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,0BAA0B;IAa9C,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,YAAY,EAAE,EAAE,mCAAmC,GAAG,IAAI;IAmBjG,gBAAgB,IAAI,aAAa;IASxC,QAAQ;;;IAMR,OAAO,CAAC,WAAW;CAQnB;AAED,eAAO,MAAM,kDAAkD,qJAG7D,CAAA;AAEF,MAAM,WAAW,sDAAsD;IACtE,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,0BAA0B,CAAA;IACtC,WAAW,CAAC,EAAE,KAAK,CAAC,0BAA0B,CAAA;CAC9C;AAED,qBAAa,4CAA6C,YAAW,MAAM;IAC1E,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;CAwBxD"}
@@ -7,7 +7,7 @@ const ModificationHandler_1 = require("../ModificationHandler");
7
7
  const schema_utils_1 = require("@contember/schema-utils");
8
8
  const diffUtils_1 = require("../utils/diffUtils");
9
9
  const createJunctionTable_1 = require("../utils/createJunctionTable");
10
- const database_1 = require("@contember/database");
10
+ const dbHelpers_1 = require("../../utils/dbHelpers");
11
11
  const normalization_1 = require("./normalization");
12
12
  const fields_1 = require("../fields");
13
13
  class ConvertOneHasManyToManyHasManyRelationModificationHandler {
@@ -21,25 +21,25 @@ class ConvertOneHasManyToManyHasManyRelationModificationHandler {
21
21
  newFieldName: this.data.owningSide.name,
22
22
  }, schema, this.options);
23
23
  }
24
- createSql(builder) {
24
+ createSql(builder, { systemSchema }) {
25
25
  const targetEntity = this.schema.model.entities[this.data.owningSide.target];
26
26
  const { relation: oldRelation } = this.getRelation();
27
27
  const entity = this.schema.model.entities[this.data.entityName];
28
- (0, createJunctionTable_1.createJunctionTableSql)(builder, this.options.systemSchema, this.schema, entity, targetEntity, (0, normalization_1.normalizeManyHasManyRelation)(this.data.owningSide));
28
+ (0, createJunctionTable_1.createJunctionTableSql)(builder, systemSchema, this.schema, entity, targetEntity, (0, normalization_1.normalizeManyHasManyRelation)(this.data.owningSide));
29
29
  const joiningTable = this.data.owningSide.joiningTable;
30
30
  builder.sql(`
31
- INSERT INTO ${(0, database_1.wrapIdentifier)(joiningTable.tableName)} (
32
- ${(0, database_1.wrapIdentifier)(joiningTable.joiningColumn.columnName)},
33
- ${(0, database_1.wrapIdentifier)(joiningTable.inverseJoiningColumn.columnName)}
31
+ INSERT INTO ${(0, dbHelpers_1.wrapIdentifier)(joiningTable.tableName)} (
32
+ ${(0, dbHelpers_1.wrapIdentifier)(joiningTable.joiningColumn.columnName)},
33
+ ${(0, dbHelpers_1.wrapIdentifier)(joiningTable.inverseJoiningColumn.columnName)}
34
34
  )
35
- SELECT ${(0, database_1.wrapIdentifier)(entity.primaryColumn)}, ${(0, database_1.wrapIdentifier)(oldRelation.joiningColumn.columnName)}
36
- FROM ${(0, database_1.wrapIdentifier)(entity.tableName)}
37
- WHERE ${(0, database_1.wrapIdentifier)(oldRelation.joiningColumn.columnName)} IS NOT NULL`);
35
+ SELECT ${(0, dbHelpers_1.wrapIdentifier)(entity.primaryColumn)}, ${(0, dbHelpers_1.wrapIdentifier)(oldRelation.joiningColumn.columnName)}
36
+ FROM ${(0, dbHelpers_1.wrapIdentifier)(entity.tableName)}
37
+ WHERE ${(0, dbHelpers_1.wrapIdentifier)(oldRelation.joiningColumn.columnName)} IS NOT NULL`);
38
38
  builder.dropColumn(entity.tableName, oldRelation.joiningColumn.columnName);
39
39
  }
40
40
  getSchemaUpdater() {
41
41
  const { entityName } = this.data;
42
- return (0, schemaUpdateUtils_1.updateSchema)(this.subModification.getSchemaUpdater(), (0, schemaUpdateUtils_1.updateModel)((0, schemaUpdateUtils_1.updateEntity)(entityName, (0, schemaUpdateUtils_1.addField)((0, normalization_1.normalizeManyHasManyRelation)(this.data.owningSide)))), this.data.inverseSide ? (0, schemaUpdateUtils_1.updateModel)((0, schemaUpdateUtils_1.updateEntity)(this.data.owningSide.target, (0, schemaUpdateUtils_1.addField)(this.data.inverseSide))) : undefined, (0, schemaUpdateUtils_1.addTakenIndexName)(schema_utils_1.NamingHelper.createJunctionTablePrimaryConstraintName(this.data.owningSide.joiningTable.tableName)));
42
+ return (0, schemaUpdateUtils_1.updateSchema)(this.subModification.getSchemaUpdater(), (0, schemaUpdateUtils_1.updateModel)((0, schemaUpdateUtils_1.updateEntity)(entityName, (0, schemaUpdateUtils_1.addField)((0, normalization_1.normalizeManyHasManyRelation)(this.data.owningSide)))), this.data.inverseSide ? (0, schemaUpdateUtils_1.updateModel)((0, schemaUpdateUtils_1.updateEntity)(this.data.owningSide.target, (0, schemaUpdateUtils_1.addField)(this.data.inverseSide))) : undefined);
43
43
  }
44
44
  describe() {
45
45
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"ConvertOneHasManyToManyHasManyRelationModification.js","sourceRoot":"","sources":["../../../../src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConvertOneHasManyToManyHasManyRelationModification.js","sourceRoot":"","sources":["../../../../src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.ts"],"names":[],"mappings":"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"}