@contember/schema-migrations 1.3.0-rc.2 → 1.3.0

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 (125) hide show
  1. package/dist/src/SchemaDiffer.d.ts.map +1 -1
  2. package/dist/src/SchemaDiffer.js +1 -2
  3. package/dist/src/SchemaDiffer.js.map +1 -1
  4. package/dist/src/modifications/differs/{RemoveChangedViewDiffer.d.ts → RemoveViewDiffer.d.ts} +5 -2
  5. package/dist/src/modifications/differs/RemoveViewDiffer.d.ts.map +1 -0
  6. package/dist/src/modifications/differs/RemoveViewDiffer.js +48 -0
  7. package/dist/src/modifications/differs/RemoveViewDiffer.js.map +1 -0
  8. package/dist/src/modifications/differs/index.d.ts +1 -2
  9. package/dist/src/modifications/differs/index.d.ts.map +1 -1
  10. package/dist/src/modifications/differs/index.js +1 -2
  11. package/dist/src/modifications/differs/index.js.map +1 -1
  12. package/dist/src/modifications/utils/viewDependencies.js +3 -3
  13. package/dist/src/tsconfig.tsbuildinfo +1 -1
  14. package/dist/tests/cases/integration/convertOneHasManyToManyHasManyRelation.test.js +2 -2
  15. package/dist/tests/cases/integration/convertOneHasManyToManyHasManyRelation.test.js.map +1 -1
  16. package/dist/tests/cases/integration/convertOneToManyRelation.test.js +24 -16
  17. package/dist/tests/cases/integration/convertOneToManyRelation.test.js.map +1 -1
  18. package/dist/tests/cases/integration/createAndDropIndex.test.js +4 -4
  19. package/dist/tests/cases/integration/createAndDropIndex.test.js.map +1 -1
  20. package/dist/tests/cases/integration/createColumn.test.js +4 -4
  21. package/dist/tests/cases/integration/createColumn.test.js.map +1 -1
  22. package/dist/tests/cases/integration/createEntity.test.js +11 -9
  23. package/dist/tests/cases/integration/createEntity.test.js.map +1 -1
  24. package/dist/tests/cases/integration/createEnum.test.js +13 -9
  25. package/dist/tests/cases/integration/createEnum.test.js.map +1 -1
  26. package/dist/tests/cases/integration/createManyHasMany.test.js +11 -7
  27. package/dist/tests/cases/integration/createManyHasMany.test.js.map +1 -1
  28. package/dist/tests/cases/integration/createManyHasOne.test.js +13 -9
  29. package/dist/tests/cases/integration/createManyHasOne.test.js.map +1 -1
  30. package/dist/tests/cases/integration/createOneHasMany.test.js +10 -8
  31. package/dist/tests/cases/integration/createOneHasMany.test.js.map +1 -1
  32. package/dist/tests/cases/integration/createOneHasOne.test.js +9 -7
  33. package/dist/tests/cases/integration/createOneHasOne.test.js.map +1 -1
  34. package/dist/tests/cases/integration/createRelationInverseSide.test.js +24 -16
  35. package/dist/tests/cases/integration/createRelationInverseSide.test.js.map +1 -1
  36. package/dist/tests/cases/integration/createView.test.js +3 -3
  37. package/dist/tests/cases/integration/createView.test.js.map +1 -1
  38. package/dist/tests/cases/integration/disableOrphanRemoval.test.js +14 -10
  39. package/dist/tests/cases/integration/disableOrphanRemoval.test.js.map +1 -1
  40. package/dist/tests/cases/integration/enableOrphanRemoval.test.js +14 -10
  41. package/dist/tests/cases/integration/enableOrphanRemoval.test.js.map +1 -1
  42. package/dist/tests/cases/integration/makeColumnNotNull.test.js +10 -6
  43. package/dist/tests/cases/integration/makeColumnNotNull.test.js.map +1 -1
  44. package/dist/tests/cases/integration/makeRelationNotNull.test.js +14 -10
  45. package/dist/tests/cases/integration/makeRelationNotNull.test.js.map +1 -1
  46. package/dist/tests/cases/integration/makeRelationNullable.test.js +26 -18
  47. package/dist/tests/cases/integration/makeRelationNullable.test.js.map +1 -1
  48. package/dist/tests/cases/integration/patchAclSchema.test.js +21 -17
  49. package/dist/tests/cases/integration/patchAclSchema.test.js.map +1 -1
  50. package/dist/tests/cases/integration/removeEntity.test.js +60 -52
  51. package/dist/tests/cases/integration/removeEntity.test.js.map +1 -1
  52. package/dist/tests/cases/integration/removeEnum.test.js +13 -9
  53. package/dist/tests/cases/integration/removeEnum.test.js.map +1 -1
  54. package/dist/tests/cases/integration/removeField.test.js +71 -51
  55. package/dist/tests/cases/integration/removeField.test.js.map +1 -1
  56. package/dist/tests/cases/integration/toggleEventLog.test.js +4 -4
  57. package/dist/tests/cases/integration/toggleEventLog.test.js.map +1 -1
  58. package/dist/tests/cases/integration/toggleJunctionEventLog.test.js +4 -4
  59. package/dist/tests/cases/integration/toggleJunctionEventLog.test.js.map +1 -1
  60. package/dist/tests/cases/integration/updateColumnDefinition.test.js +18 -14
  61. package/dist/tests/cases/integration/updateColumnDefinition.test.js.map +1 -1
  62. package/dist/tests/cases/integration/updateEntityName.test.js +66 -50
  63. package/dist/tests/cases/integration/updateEntityName.test.js.map +1 -1
  64. package/dist/tests/cases/integration/updateEntityOrderBy.test.js +4 -4
  65. package/dist/tests/cases/integration/updateEntityOrderBy.test.js.map +1 -1
  66. package/dist/tests/cases/integration/updateEnum.test.js +16 -12
  67. package/dist/tests/cases/integration/updateEnum.test.js.map +1 -1
  68. package/dist/tests/cases/integration/updateFieldName.test.js +120 -96
  69. package/dist/tests/cases/integration/updateFieldName.test.js.map +1 -1
  70. package/dist/tests/cases/integration/updateRelationOnDelete.test.js +14 -10
  71. package/dist/tests/cases/integration/updateRelationOnDelete.test.js.map +1 -1
  72. package/dist/tests/cases/integration/updateRelationOrderBy.test.js +15 -11
  73. package/dist/tests/cases/integration/updateRelationOrderBy.test.js.map +1 -1
  74. package/dist/tests/cases/integration/updateView.test.js +8 -8
  75. package/dist/tests/cases/integration/updateView.test.js.map +1 -1
  76. package/dist/tests/src/tests.d.ts +7 -9
  77. package/dist/tests/src/tests.d.ts.map +1 -1
  78. package/dist/tests/src/tests.js +13 -16
  79. package/dist/tests/src/tests.js.map +1 -1
  80. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  81. package/package.json +6 -6
  82. package/src/SchemaDiffer.ts +2 -3
  83. package/src/modifications/differs/{RemoveChangedViewDiffer.ts → RemoveViewDiffer.ts} +30 -7
  84. package/src/modifications/differs/index.ts +1 -2
  85. package/src/modifications/utils/viewDependencies.ts +3 -3
  86. package/tests/cases/integration/convertOneHasManyToManyHasManyRelation.test.ts +3 -3
  87. package/tests/cases/integration/convertOneToManyRelation.test.ts +32 -24
  88. package/tests/cases/integration/createAndDropIndex.test.ts +5 -5
  89. package/tests/cases/integration/createColumn.test.ts +5 -5
  90. package/tests/cases/integration/createEntity.test.ts +14 -12
  91. package/tests/cases/integration/createEnum.test.ts +15 -11
  92. package/tests/cases/integration/createManyHasMany.test.ts +13 -9
  93. package/tests/cases/integration/createManyHasOne.test.ts +15 -11
  94. package/tests/cases/integration/createOneHasMany.test.ts +14 -12
  95. package/tests/cases/integration/createOneHasOne.test.ts +11 -9
  96. package/tests/cases/integration/createRelationInverseSide.test.ts +26 -18
  97. package/tests/cases/integration/createView.test.ts +4 -4
  98. package/tests/cases/integration/disableOrphanRemoval.test.ts +18 -14
  99. package/tests/cases/integration/enableOrphanRemoval.test.ts +18 -14
  100. package/tests/cases/integration/makeColumnNotNull.test.ts +10 -6
  101. package/tests/cases/integration/makeRelationNotNull.test.ts +18 -14
  102. package/tests/cases/integration/makeRelationNullable.test.ts +30 -22
  103. package/tests/cases/integration/patchAclSchema.test.ts +21 -17
  104. package/tests/cases/integration/removeEntity.test.ts +63 -55
  105. package/tests/cases/integration/removeEnum.test.ts +15 -11
  106. package/tests/cases/integration/removeField.test.ts +86 -66
  107. package/tests/cases/integration/toggleEventLog.test.ts +5 -5
  108. package/tests/cases/integration/toggleJunctionEventLog.test.ts +5 -5
  109. package/tests/cases/integration/updateColumnDefinition.test.ts +22 -18
  110. package/tests/cases/integration/updateEntityName.test.ts +67 -51
  111. package/tests/cases/integration/updateEntityOrderBy.test.ts +5 -5
  112. package/tests/cases/integration/updateEnum.test.ts +20 -16
  113. package/tests/cases/integration/updateFieldName.test.ts +126 -102
  114. package/tests/cases/integration/updateRelationOnDelete.test.ts +18 -14
  115. package/tests/cases/integration/updateRelationOrderBy.test.ts +23 -19
  116. package/tests/cases/integration/updateView.test.ts +9 -9
  117. package/tests/src/tests.ts +19 -29
  118. package/dist/src/modifications/differs/ChangeViewNonViewDiffer.d.ts +0 -6
  119. package/dist/src/modifications/differs/ChangeViewNonViewDiffer.d.ts.map +0 -1
  120. package/dist/src/modifications/differs/ChangeViewNonViewDiffer.js +0 -19
  121. package/dist/src/modifications/differs/ChangeViewNonViewDiffer.js.map +0 -1
  122. package/dist/src/modifications/differs/RemoveChangedViewDiffer.d.ts.map +0 -1
  123. package/dist/src/modifications/differs/RemoveChangedViewDiffer.js +0 -33
  124. package/dist/src/modifications/differs/RemoveChangedViewDiffer.js.map +0 -1
  125. package/src/modifications/differs/ChangeViewNonViewDiffer.ts +0 -17
@@ -4,25 +4,29 @@ import { Model } from '@contember/schema'
4
4
  import { SQL } from '../../src/tags'
5
5
 
6
6
  testMigrations('update relation order by', {
7
- originalSchema: new SchemaBuilder()
8
- .entity('Menu', e =>
9
- e.oneHasMany('items', r =>
10
- r
11
- .ownedBy('menu')
12
- .target('MenuItem', e => e.column('heading').column('order', c => c.type(Model.ColumnType.Int))),
13
- ),
14
- )
15
- .buildSchema(),
16
- updatedSchema: new SchemaBuilder()
17
- .entity('Menu', e =>
18
- e.oneHasMany('items', r =>
19
- r
20
- .ownedBy('menu')
21
- .orderBy('order')
22
- .target('MenuItem', e => e.column('heading').column('order', c => c.type(Model.ColumnType.Int))),
23
- ),
24
- )
25
- .buildSchema(),
7
+ original: {
8
+ model: new SchemaBuilder()
9
+ .entity('Menu', e =>
10
+ e.oneHasMany('items', r =>
11
+ r
12
+ .ownedBy('menu')
13
+ .target('MenuItem', e => e.column('heading').column('order', c => c.type(Model.ColumnType.Int))),
14
+ ),
15
+ )
16
+ .buildSchema(),
17
+ },
18
+ updated: {
19
+ model: new SchemaBuilder()
20
+ .entity('Menu', e =>
21
+ e.oneHasMany('items', r =>
22
+ r
23
+ .ownedBy('menu')
24
+ .orderBy('order')
25
+ .target('MenuItem', e => e.column('heading').column('order', c => c.type(Model.ColumnType.Int))),
26
+ ),
27
+ )
28
+ .buildSchema(),
29
+ },
26
30
  diff: [
27
31
  {
28
32
  modification: 'updateRelationOrderBy',
@@ -1,6 +1,6 @@
1
1
  import { testMigrations } from '../../src/tests'
2
2
  import { SQL } from '../../src/tags'
3
- import { SchemaDefinition as def } from '@contember/schema-definition'
3
+ import { createSchema, SchemaDefinition as def } from '@contember/schema-definition'
4
4
 
5
5
  namespace ViewEntityOriginalSchema {
6
6
  @def.View("SELECT null as id, 'John' AS name")
@@ -38,8 +38,8 @@ namespace ViewEntityUpdatedSchema1 {
38
38
 
39
39
 
40
40
  testMigrations('update a view 1', {
41
- originalSchema: def.createModel(ViewEntityOriginalSchema),
42
- updatedSchema: def.createModel(ViewEntityUpdatedSchema1),
41
+ original: createSchema(ViewEntityOriginalSchema),
42
+ updated: createSchema(ViewEntityUpdatedSchema1),
43
43
  diff: [
44
44
  {
45
45
  modification: 'removeEntity',
@@ -186,8 +186,8 @@ namespace ViewEntityUpdatedSchema2 {
186
186
  }
187
187
 
188
188
  testMigrations('update a view 2', {
189
- originalSchema: def.createModel(ViewEntityOriginalSchema),
190
- updatedSchema: def.createModel(ViewEntityUpdatedSchema2),
189
+ original: createSchema(ViewEntityOriginalSchema),
190
+ updated: createSchema(ViewEntityUpdatedSchema2),
191
191
  diff: [
192
192
  {
193
193
  modification: 'removeEntity',
@@ -296,8 +296,8 @@ namespace ViewEntityUpdatedSchema3 {
296
296
  }
297
297
 
298
298
  testMigrations('update a view 3', {
299
- originalSchema: def.createModel(ViewEntityOriginalSchema),
300
- updatedSchema: def.createModel(ViewEntityUpdatedSchema3),
299
+ original: createSchema(ViewEntityOriginalSchema),
300
+ updated: createSchema(ViewEntityUpdatedSchema3),
301
301
  diff: [
302
302
  {
303
303
  modification: 'removeEntity',
@@ -363,8 +363,8 @@ namespace ViewEntityUpdatedSchema4 {
363
363
  }
364
364
 
365
365
  testMigrations('update a view 4', {
366
- originalSchema: def.createModel(ViewEntityOriginalSchema),
367
- updatedSchema: def.createModel(ViewEntityUpdatedSchema4),
366
+ original: createSchema(ViewEntityOriginalSchema),
367
+ updated: createSchema(ViewEntityUpdatedSchema4),
368
368
  diff: [
369
369
  {
370
370
  modification: 'removeEntity',
@@ -1,5 +1,5 @@
1
1
  import { Migration, ModificationHandlerFactory, SchemaDiffer, SchemaMigrator, VERSION_LATEST } from '../../src'
2
- import { Acl, Model } from '@contember/schema'
2
+ import { Schema } from '@contember/schema'
3
3
  import { createMigrationBuilder } from '@contember/database-migrations'
4
4
  import { assert, describe, it } from 'vitest'
5
5
  import { dummySchemaDatabaseMetadata, emptySchema } from '@contember/schema-utils'
@@ -8,28 +8,22 @@ const modificationFactory = new ModificationHandlerFactory(ModificationHandlerFa
8
8
  const schemaMigrator = new SchemaMigrator(modificationFactory)
9
9
  const schemaDiffer = new SchemaDiffer(schemaMigrator)
10
10
 
11
- const emptyAcl = { roles: {} }
12
-
13
11
  export interface TestContext {
14
12
  diff: Migration.Modification[]
15
- originalSchema: Model.Schema
16
- updatedSchema: Model.Schema
17
- originalAcl?: Acl.Schema
18
- updatedAcl?: Acl.Schema
13
+ original: Partial<Schema>
14
+ updated: Partial<Schema>
19
15
  sql: string
20
16
  noDiff?: boolean
21
17
  }
22
18
 
23
19
  export function testDiffSchemas(
24
- originalModel: Model.Schema,
25
- updatedModel: Model.Schema,
20
+ original: Partial<Schema>,
21
+ updated: Partial<Schema>,
26
22
  expectedDiff: Migration.Modification[],
27
- originalAcl: Acl.Schema = emptyAcl,
28
- updatedAcl: Acl.Schema = emptyAcl,
29
23
  ) {
30
24
  const actualDiff = schemaDiffer.diffSchemas(
31
- { ...emptySchema, model: originalModel, acl: originalAcl },
32
- { ...emptySchema, model: updatedModel, acl: updatedAcl },
25
+ { ...emptySchema, ...original },
26
+ { ...emptySchema, ...updated },
33
27
  { skipRecreateValidation: true },
34
28
  )
35
29
  try {
@@ -40,39 +34,35 @@ export function testDiffSchemas(
40
34
  throw e
41
35
  }
42
36
  const schema = schemaMigrator.applyModifications(
43
- { ...emptySchema, model: originalModel, acl: originalAcl },
37
+ { ...emptySchema, ...original },
44
38
  actualDiff,
45
39
  VERSION_LATEST,
46
40
  )
47
41
  assert.deepStrictEqual(schema, {
48
42
  ...emptySchema,
49
- model: updatedModel,
50
- acl: updatedAcl,
43
+ ...updated,
51
44
  })
52
45
  }
53
46
 
54
47
  export function testApplyDiff(
55
- originalModel: Model.Schema,
48
+ original: Partial<Schema>,
49
+ expected: Partial<Schema>,
56
50
  diff: Migration.Modification[],
57
- expectedModel: Model.Schema,
58
- originalAcl: Acl.Schema = emptyAcl,
59
- expectedAcl: Acl.Schema = emptyAcl,
60
51
  ) {
61
52
  const actualSchema = schemaMigrator.applyModifications(
62
- { ...emptySchema, model: originalModel, acl: originalAcl },
53
+ { ...emptySchema, ...original },
63
54
  diff,
64
55
  VERSION_LATEST,
65
56
  )
66
57
 
67
58
  assert.deepStrictEqual(actualSchema, {
68
59
  ...emptySchema,
69
- model: expectedModel,
70
- acl: expectedAcl,
60
+ ...expected,
71
61
  })
72
62
  }
73
63
 
74
- export function testGenerateSql(originalSchema: Model.Schema, diff: Migration.Modification[], expectedSql: string) {
75
- let schema = { ...emptySchema, model: originalSchema, acl: emptyAcl }
64
+ export function testGenerateSql(original: Partial<Schema>, diff: Migration.Modification[], expectedSql: string) {
65
+ let schema = { ...emptySchema, ...original }
76
66
  const builder = createMigrationBuilder()
77
67
  for (let { modification, ...data } of diff) {
78
68
  const modificationHandler = modificationFactory.create(modification, data, schema, {
@@ -89,19 +79,19 @@ export function testGenerateSql(originalSchema: Model.Schema, diff: Migration.Mo
89
79
  assert.equal(actual, expectedSql)
90
80
  }
91
81
 
92
- export function testMigrations(title: string, { originalSchema, updatedSchema, diff, noDiff, originalAcl, updatedAcl, sql }: TestContext) {
82
+ export function testMigrations(title: string, { original, updated, diff, noDiff, sql }: TestContext) {
93
83
  describe(title, () => {
94
84
  it('diff schemas', () => {
95
85
  if (noDiff) {
96
86
  return
97
87
  }
98
- testDiffSchemas(originalSchema, updatedSchema, diff, originalAcl, updatedAcl)
88
+ testDiffSchemas(original, updated, diff)
99
89
  })
100
90
  it('apply diff', () => {
101
- testApplyDiff(originalSchema, diff, updatedSchema, originalAcl, updatedAcl)
91
+ testApplyDiff(original, updated, diff)
102
92
  })
103
93
  it('generate sql', () => {
104
- testGenerateSql(originalSchema, diff, sql)
94
+ testGenerateSql(original, diff, sql)
105
95
  })
106
96
  })
107
97
  }
@@ -1,6 +0,0 @@
1
- import { Differ } from '../ModificationHandler';
2
- import { Schema } from '@contember/schema';
3
- export declare class ChangeViewNonViewDiffer implements Differ {
4
- createDiff(originalSchema: Schema, updatedSchema: Schema): import("../../Migration").Migration.Modification<import("../entities").RemoveEntityModificationData>[];
5
- }
6
- //# sourceMappingURL=ChangeViewNonViewDiffer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChangeViewNonViewDiffer.d.ts","sourceRoot":"","sources":["../../../../src/modifications/differs/ChangeViewNonViewDiffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAG1C,qBAAa,uBAAwB,YAAW,MAAM;IACrD,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;CAWxD"}
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ChangeViewNonViewDiffer = void 0;
4
- const entities_1 = require("../entities");
5
- class ChangeViewNonViewDiffer {
6
- createDiff(originalSchema, updatedSchema) {
7
- return Object.values(updatedSchema.model.entities)
8
- .filter(it => {
9
- const origEntity = originalSchema.model.entities[it.name];
10
- if (!origEntity) {
11
- return false;
12
- }
13
- return !!origEntity.view !== !!it.view;
14
- })
15
- .map(it => entities_1.removeEntityModification.createModification({ entityName: it.name }));
16
- }
17
- }
18
- exports.ChangeViewNonViewDiffer = ChangeViewNonViewDiffer;
19
- //# sourceMappingURL=ChangeViewNonViewDiffer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChangeViewNonViewDiffer.js","sourceRoot":"","sources":["../../../../src/modifications/differs/ChangeViewNonViewDiffer.ts"],"names":[],"mappings":";;;AAEA,0CAAsD;AAEtD,MAAa,uBAAuB;IACnC,UAAU,CAAC,cAAsB,EAAE,aAAqB;QACvD,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC;aAChD,MAAM,CAAC,EAAE,CAAC,EAAE;YACZ,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;YACzD,IAAI,CAAC,UAAU,EAAE;gBAChB,OAAO,KAAK,CAAA;aACZ;YACD,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAA;QACvC,CAAC,CAAC;aACD,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,mCAAwB,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAClF,CAAC;CACD;AAZD,0DAYC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"RemoveChangedViewDiffer.d.ts","sourceRoot":"","sources":["../../../../src/modifications/differs/RemoveChangedViewDiffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAK1C,qBAAa,uBAAwB,YAAW,MAAM;;IAIrD,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;;;CAkBxD"}
@@ -1,33 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.RemoveChangedViewDiffer = void 0;
7
- const fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
8
- const viewDependencies_1 = require("../utils/viewDependencies");
9
- const columns_1 = require("../columns");
10
- class RemoveChangedViewDiffer {
11
- constructor() {
12
- }
13
- createDiff(originalSchema, updatedSchema) {
14
- const changedViews = Object.values(originalSchema.model.entities)
15
- .filter(it => {
16
- const updatedEntity = updatedSchema.model.entities[it.name];
17
- if (!updatedEntity || !it.view || !updatedEntity.view) {
18
- return false;
19
- }
20
- return !(0, fast_deep_equal_1.default)(updatedEntity.view, it.view);
21
- });
22
- const columnDiffer = new columns_1.UpdateColumnDefinitionDiffer();
23
- const columnChanges = columnDiffer.createDiff(originalSchema, updatedSchema);
24
- if (changedViews.length === 0 && columnChanges.length === 0) {
25
- return [];
26
- }
27
- const changedColumnsEntities = Array.from(new Set(columnChanges.map(it => it.entityName)))
28
- .map(it => originalSchema.model.entities[it]);
29
- return (0, viewDependencies_1.cascadeRemoveDependantViews)(originalSchema.model, [...changedViews, ...changedColumnsEntities]);
30
- }
31
- }
32
- exports.RemoveChangedViewDiffer = RemoveChangedViewDiffer;
33
- //# sourceMappingURL=RemoveChangedViewDiffer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RemoveChangedViewDiffer.js","sourceRoot":"","sources":["../../../../src/modifications/differs/RemoveChangedViewDiffer.ts"],"names":[],"mappings":";;;;;;AAEA,sEAAuC;AACvC,gEAAuE;AACvE,wCAAyD;AAEzD,MAAa,uBAAuB;IACnC;IACA,CAAC;IAED,UAAU,CAAC,cAAsB,EAAE,aAAqB;QACvD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC;aAC/D,MAAM,CAAC,EAAE,CAAC,EAAE;YACZ,MAAM,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;YAC3D,IAAI,CAAC,aAAa,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;gBACtD,OAAO,KAAK,CAAA;aACZ;YACD,OAAO,CAAC,IAAA,yBAAS,EAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;QAC/C,CAAC,CAAC,CAAA;QACH,MAAM,YAAY,GAAG,IAAI,sCAA4B,EAAE,CAAA;QACvD,MAAM,aAAa,GAAG,YAAY,CAAC,UAAU,CAAC,cAAc,EAAE,aAAa,CAAC,CAAA;QAC5E,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5D,OAAO,EAAE,CAAA;SACT;QACD,MAAM,sBAAsB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;aACxF,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;QAC9C,OAAO,IAAA,8CAA2B,EAAC,cAAc,CAAC,KAAK,EAAE,CAAC,GAAG,YAAY,EAAE,GAAG,sBAAsB,CAAC,CAAC,CAAA;IACvG,CAAC;CACD;AAtBD,0DAsBC"}
@@ -1,17 +0,0 @@
1
- import { Differ } from '../ModificationHandler'
2
- import { Schema } from '@contember/schema'
3
- import { removeEntityModification } from '../entities'
4
-
5
- export class ChangeViewNonViewDiffer implements Differ {
6
- createDiff(originalSchema: Schema, updatedSchema: Schema) {
7
- return Object.values(updatedSchema.model.entities)
8
- .filter(it => {
9
- const origEntity = originalSchema.model.entities[it.name]
10
- if (!origEntity) {
11
- return false
12
- }
13
- return !!origEntity.view !== !!it.view
14
- })
15
- .map(it => removeEntityModification.createModification({ entityName: it.name }))
16
- }
17
- }