@contember/schema-migrations 2.0.0-alpha.32 → 2.0.0-alpha.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/development/src/MigrationDescriber.cjs.map +1 -1
- package/dist/development/src/MigrationDescriber.js.map +1 -1
- package/dist/development/src/SchemaDiffer.cjs.map +1 -1
- package/dist/development/src/SchemaDiffer.js.map +1 -1
- package/dist/development/src/SchemaMigrator.cjs.map +1 -1
- package/dist/development/src/SchemaMigrator.js.map +1 -1
- package/dist/development/src/modifications/ModificationHandler.cjs.map +1 -1
- package/dist/development/src/modifications/ModificationHandler.js.map +1 -1
- package/dist/development/src/modifications/ModificationHandlerFactory.cjs.map +1 -1
- package/dist/development/src/modifications/ModificationHandlerFactory.js.map +1 -1
- package/dist/development/src/modifications/NoopModification.cjs.map +1 -1
- package/dist/development/src/modifications/NoopModification.js.map +1 -1
- package/dist/development/src/modifications/acl/PatchAclSchemaModification.cjs.map +1 -1
- package/dist/development/src/modifications/acl/PatchAclSchemaModification.js.map +1 -1
- package/dist/development/src/modifications/acl/UpdateAclSchemaModification.cjs.map +1 -1
- package/dist/development/src/modifications/acl/UpdateAclSchemaModification.js.map +1 -1
- package/dist/development/src/modifications/actions/CreateTargetModification.cjs.map +1 -1
- package/dist/development/src/modifications/actions/CreateTargetModification.js.map +1 -1
- package/dist/development/src/modifications/actions/CreateTriggerModification.cjs.map +1 -1
- package/dist/development/src/modifications/actions/CreateTriggerModification.js.map +1 -1
- package/dist/development/src/modifications/actions/RemoveTargetModification.cjs.map +1 -1
- package/dist/development/src/modifications/actions/RemoveTargetModification.js.map +1 -1
- package/dist/development/src/modifications/actions/RemoveTriggerModification.cjs.map +1 -1
- package/dist/development/src/modifications/actions/RemoveTriggerModification.js.map +1 -1
- package/dist/development/src/modifications/actions/UpdateTargetModification.cjs.map +1 -1
- package/dist/development/src/modifications/actions/UpdateTargetModification.js.map +1 -1
- package/dist/development/src/modifications/actions/UpdateTriggerModification.cjs.map +1 -1
- package/dist/development/src/modifications/actions/UpdateTriggerModification.js.map +1 -1
- package/dist/development/src/modifications/columns/CreateColumnModification.cjs.map +1 -1
- package/dist/development/src/modifications/columns/CreateColumnModification.js.map +1 -1
- package/dist/development/src/modifications/columns/UpdateColumnDefinitionModification.cjs.map +1 -1
- package/dist/development/src/modifications/columns/UpdateColumnDefinitionModification.js.map +1 -1
- package/dist/development/src/modifications/columns/UpdateColumnNameModification.cjs.map +1 -1
- package/dist/development/src/modifications/columns/UpdateColumnNameModification.js.map +1 -1
- package/dist/development/src/modifications/columns/columnUtils.cjs.map +1 -1
- package/dist/development/src/modifications/columns/columnUtils.js.map +1 -1
- package/dist/development/src/modifications/constraints/CreateUniqueConstraintModification.cjs.map +1 -1
- package/dist/development/src/modifications/constraints/CreateUniqueConstraintModification.js.map +1 -1
- package/dist/development/src/modifications/constraints/RemoveUniqueConstraintModification.cjs.map +1 -1
- package/dist/development/src/modifications/constraints/RemoveUniqueConstraintModification.js.map +1 -1
- package/dist/development/src/modifications/constraints/utils.cjs.map +1 -1
- package/dist/development/src/modifications/constraints/utils.js.map +1 -1
- package/dist/development/src/modifications/differs/RemoveChangedFieldDiffer.cjs.map +1 -1
- package/dist/development/src/modifications/differs/RemoveChangedFieldDiffer.js.map +1 -1
- package/dist/development/src/modifications/differs/RemoveViewDiffer.cjs.map +1 -1
- package/dist/development/src/modifications/differs/RemoveViewDiffer.js.map +1 -1
- package/dist/development/src/modifications/entities/CreateEntityModification.cjs.map +1 -1
- package/dist/development/src/modifications/entities/CreateEntityModification.js.map +1 -1
- package/dist/development/src/modifications/entities/CreateViewModification.cjs.map +1 -1
- package/dist/development/src/modifications/entities/CreateViewModification.js.map +1 -1
- package/dist/development/src/modifications/entities/RemoveEntityModification.cjs.map +1 -1
- package/dist/development/src/modifications/entities/RemoveEntityModification.js.map +1 -1
- package/dist/development/src/modifications/entities/ToggleEventLogModification.cjs.map +1 -1
- package/dist/development/src/modifications/entities/ToggleEventLogModification.js.map +1 -1
- package/dist/development/src/modifications/entities/UpdateEntityNameModification.cjs.map +1 -1
- package/dist/development/src/modifications/entities/UpdateEntityNameModification.js.map +1 -1
- package/dist/development/src/modifications/entities/UpdateEntityOrderByModification.cjs.map +1 -1
- package/dist/development/src/modifications/entities/UpdateEntityOrderByModification.js.map +1 -1
- package/dist/development/src/modifications/entities/UpdateEntityTableNameModification.cjs.map +1 -1
- package/dist/development/src/modifications/entities/UpdateEntityTableNameModification.js.map +1 -1
- package/dist/development/src/modifications/entities/UpdateViewModification.cjs.map +1 -1
- package/dist/development/src/modifications/entities/UpdateViewModification.js.map +1 -1
- package/dist/development/src/modifications/enums/CreateEnumModification.cjs.map +1 -1
- package/dist/development/src/modifications/enums/CreateEnumModification.js.map +1 -1
- package/dist/development/src/modifications/enums/RemoveEnumModification.cjs.map +1 -1
- package/dist/development/src/modifications/enums/RemoveEnumModification.js.map +1 -1
- package/dist/development/src/modifications/enums/UpdateEnumModification.cjs.map +1 -1
- package/dist/development/src/modifications/enums/UpdateEnumModification.js.map +1 -1
- package/dist/development/src/modifications/enums/enumUtils.cjs.map +1 -1
- package/dist/development/src/modifications/fields/RemoveFieldModification.cjs.map +1 -1
- package/dist/development/src/modifications/fields/RemoveFieldModification.js.map +1 -1
- package/dist/development/src/modifications/fields/UpdateFieldNameModification.cjs.map +1 -1
- package/dist/development/src/modifications/fields/UpdateFieldNameModification.js.map +1 -1
- package/dist/development/src/modifications/indexes/CreateIndexModification.cjs.map +1 -1
- package/dist/development/src/modifications/indexes/CreateIndexModification.js.map +1 -1
- package/dist/development/src/modifications/indexes/RemoveIndexModification.cjs.map +1 -1
- package/dist/development/src/modifications/indexes/RemoveIndexModification.js.map +1 -1
- package/dist/development/src/modifications/indexes/utils.cjs.map +1 -1
- package/dist/development/src/modifications/indexes/utils.js.map +1 -1
- package/dist/development/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.cjs.map +1 -1
- package/dist/development/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.js.map +1 -1
- package/dist/development/src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.cjs.map +1 -1
- package/dist/development/src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.js.map +1 -1
- package/dist/development/src/modifications/relations/ConvertOneToManyRelationModification.cjs.map +1 -1
- package/dist/development/src/modifications/relations/ConvertOneToManyRelationModification.js.map +1 -1
- package/dist/development/src/modifications/relations/CreateRelationInverseSideModification.cjs.map +1 -1
- package/dist/development/src/modifications/relations/CreateRelationInverseSideModification.js.map +1 -1
- package/dist/development/src/modifications/relations/CreateRelationModification.cjs.map +1 -1
- package/dist/development/src/modifications/relations/CreateRelationModification.js.map +1 -1
- package/dist/development/src/modifications/relations/DisableOrphanRemovalModification.cjs.map +1 -1
- package/dist/development/src/modifications/relations/DisableOrphanRemovalModification.js.map +1 -1
- package/dist/development/src/modifications/relations/EnableOrphanRemovalModification.cjs.map +1 -1
- package/dist/development/src/modifications/relations/EnableOrphanRemovalModification.js.map +1 -1
- package/dist/development/src/modifications/relations/MakeRelationNotNullModification.cjs.map +1 -1
- package/dist/development/src/modifications/relations/MakeRelationNotNullModification.js.map +1 -1
- package/dist/development/src/modifications/relations/MakeRelationNullableModification.cjs.map +1 -1
- package/dist/development/src/modifications/relations/MakeRelationNullableModification.js.map +1 -1
- package/dist/development/src/modifications/relations/ToggleJunctionEventLogModification.cjs.map +1 -1
- package/dist/development/src/modifications/relations/ToggleJunctionEventLogModification.js.map +1 -1
- package/dist/development/src/modifications/relations/UpdateRelationOnDeleteModification.cjs.map +1 -1
- package/dist/development/src/modifications/relations/UpdateRelationOnDeleteModification.js.map +1 -1
- package/dist/development/src/modifications/relations/UpdateRelationOrderByModification.cjs.map +1 -1
- package/dist/development/src/modifications/relations/UpdateRelationOrderByModification.js.map +1 -1
- package/dist/development/src/modifications/relations/helpers.cjs.map +1 -1
- package/dist/development/src/modifications/relations/helpers.js.map +1 -1
- package/dist/development/src/modifications/relations/normalization.cjs.map +1 -1
- package/dist/development/src/modifications/relations/normalization.js.map +1 -1
- package/dist/development/src/modifications/settings/UpdateSettingsModification.cjs.map +1 -1
- package/dist/development/src/modifications/settings/UpdateSettingsModification.js.map +1 -1
- package/dist/development/src/modifications/upgrade/RemoveIndexNamesModification.cjs.map +1 -1
- package/dist/development/src/modifications/upgrade/RemoveIndexNamesModification.js.map +1 -1
- package/dist/development/src/modifications/utils/createJunctionTable.cjs.map +1 -1
- package/dist/development/src/modifications/utils/createJunctionTable.js.map +1 -1
- package/dist/development/src/modifications/utils/diffUtils.cjs.map +1 -1
- package/dist/development/src/modifications/utils/diffUtils.js.map +1 -1
- package/dist/development/src/modifications/utils/schemaUpdateUtils.cjs.map +1 -1
- package/dist/development/src/modifications/utils/schemaUpdateUtils.js.map +1 -1
- package/dist/development/src/modifications/utils/sqlUpdateUtils.cjs.map +1 -1
- package/dist/development/src/modifications/utils/sqlUpdateUtils.js.map +1 -1
- package/dist/development/src/modifications/utils/viewDependencies.cjs.map +1 -1
- package/dist/development/src/modifications/utils/viewDependencies.js.map +1 -1
- package/dist/development/src/modifications/validation/PatchValidationSchemaModification.cjs.map +1 -1
- package/dist/development/src/modifications/validation/PatchValidationSchemaModification.js.map +1 -1
- package/dist/development/src/modifications/validation/UpdateValidationSchemaModification.cjs.map +1 -1
- package/dist/development/src/modifications/validation/UpdateValidationSchemaModification.js.map +1 -1
- package/dist/development/src/utils/deepCopy.cjs.map +1 -1
- package/dist/development/src/utils/deepCopy.js.map +1 -1
- package/dist/production/src/MigrationDescriber.cjs.map +1 -1
- package/dist/production/src/MigrationDescriber.js.map +1 -1
- package/dist/production/src/SchemaDiffer.cjs.map +1 -1
- package/dist/production/src/SchemaDiffer.js.map +1 -1
- package/dist/production/src/SchemaMigrator.cjs.map +1 -1
- package/dist/production/src/SchemaMigrator.js.map +1 -1
- package/dist/production/src/modifications/ModificationHandler.cjs.map +1 -1
- package/dist/production/src/modifications/ModificationHandler.js.map +1 -1
- package/dist/production/src/modifications/ModificationHandlerFactory.cjs.map +1 -1
- package/dist/production/src/modifications/ModificationHandlerFactory.js.map +1 -1
- package/dist/production/src/modifications/NoopModification.cjs.map +1 -1
- package/dist/production/src/modifications/NoopModification.js.map +1 -1
- package/dist/production/src/modifications/acl/PatchAclSchemaModification.cjs.map +1 -1
- package/dist/production/src/modifications/acl/PatchAclSchemaModification.js.map +1 -1
- package/dist/production/src/modifications/acl/UpdateAclSchemaModification.cjs.map +1 -1
- package/dist/production/src/modifications/acl/UpdateAclSchemaModification.js.map +1 -1
- package/dist/production/src/modifications/actions/CreateTargetModification.cjs.map +1 -1
- package/dist/production/src/modifications/actions/CreateTargetModification.js.map +1 -1
- package/dist/production/src/modifications/actions/CreateTriggerModification.cjs.map +1 -1
- package/dist/production/src/modifications/actions/CreateTriggerModification.js.map +1 -1
- package/dist/production/src/modifications/actions/RemoveTargetModification.cjs.map +1 -1
- package/dist/production/src/modifications/actions/RemoveTargetModification.js.map +1 -1
- package/dist/production/src/modifications/actions/RemoveTriggerModification.cjs.map +1 -1
- package/dist/production/src/modifications/actions/RemoveTriggerModification.js.map +1 -1
- package/dist/production/src/modifications/actions/UpdateTargetModification.cjs.map +1 -1
- package/dist/production/src/modifications/actions/UpdateTargetModification.js.map +1 -1
- package/dist/production/src/modifications/actions/UpdateTriggerModification.cjs.map +1 -1
- package/dist/production/src/modifications/actions/UpdateTriggerModification.js.map +1 -1
- package/dist/production/src/modifications/columns/CreateColumnModification.cjs.map +1 -1
- package/dist/production/src/modifications/columns/CreateColumnModification.js.map +1 -1
- package/dist/production/src/modifications/columns/UpdateColumnDefinitionModification.cjs.map +1 -1
- package/dist/production/src/modifications/columns/UpdateColumnDefinitionModification.js.map +1 -1
- package/dist/production/src/modifications/columns/UpdateColumnNameModification.cjs.map +1 -1
- package/dist/production/src/modifications/columns/UpdateColumnNameModification.js.map +1 -1
- package/dist/production/src/modifications/columns/columnUtils.cjs.map +1 -1
- package/dist/production/src/modifications/columns/columnUtils.js.map +1 -1
- package/dist/production/src/modifications/constraints/CreateUniqueConstraintModification.cjs.map +1 -1
- package/dist/production/src/modifications/constraints/CreateUniqueConstraintModification.js.map +1 -1
- package/dist/production/src/modifications/constraints/RemoveUniqueConstraintModification.cjs.map +1 -1
- package/dist/production/src/modifications/constraints/RemoveUniqueConstraintModification.js.map +1 -1
- package/dist/production/src/modifications/constraints/utils.cjs.map +1 -1
- package/dist/production/src/modifications/constraints/utils.js.map +1 -1
- package/dist/production/src/modifications/differs/RemoveChangedFieldDiffer.cjs.map +1 -1
- package/dist/production/src/modifications/differs/RemoveChangedFieldDiffer.js.map +1 -1
- package/dist/production/src/modifications/differs/RemoveViewDiffer.cjs.map +1 -1
- package/dist/production/src/modifications/differs/RemoveViewDiffer.js.map +1 -1
- package/dist/production/src/modifications/entities/CreateEntityModification.cjs.map +1 -1
- package/dist/production/src/modifications/entities/CreateEntityModification.js.map +1 -1
- package/dist/production/src/modifications/entities/CreateViewModification.cjs.map +1 -1
- package/dist/production/src/modifications/entities/CreateViewModification.js.map +1 -1
- package/dist/production/src/modifications/entities/RemoveEntityModification.cjs.map +1 -1
- package/dist/production/src/modifications/entities/RemoveEntityModification.js.map +1 -1
- package/dist/production/src/modifications/entities/ToggleEventLogModification.cjs.map +1 -1
- package/dist/production/src/modifications/entities/ToggleEventLogModification.js.map +1 -1
- package/dist/production/src/modifications/entities/UpdateEntityNameModification.cjs.map +1 -1
- package/dist/production/src/modifications/entities/UpdateEntityNameModification.js.map +1 -1
- package/dist/production/src/modifications/entities/UpdateEntityOrderByModification.cjs.map +1 -1
- package/dist/production/src/modifications/entities/UpdateEntityOrderByModification.js.map +1 -1
- package/dist/production/src/modifications/entities/UpdateEntityTableNameModification.cjs.map +1 -1
- package/dist/production/src/modifications/entities/UpdateEntityTableNameModification.js.map +1 -1
- package/dist/production/src/modifications/entities/UpdateViewModification.cjs.map +1 -1
- package/dist/production/src/modifications/entities/UpdateViewModification.js.map +1 -1
- package/dist/production/src/modifications/enums/CreateEnumModification.cjs.map +1 -1
- package/dist/production/src/modifications/enums/CreateEnumModification.js.map +1 -1
- package/dist/production/src/modifications/enums/RemoveEnumModification.cjs.map +1 -1
- package/dist/production/src/modifications/enums/RemoveEnumModification.js.map +1 -1
- package/dist/production/src/modifications/enums/UpdateEnumModification.cjs.map +1 -1
- package/dist/production/src/modifications/enums/UpdateEnumModification.js.map +1 -1
- package/dist/production/src/modifications/enums/enumUtils.cjs.map +1 -1
- package/dist/production/src/modifications/fields/RemoveFieldModification.cjs.map +1 -1
- package/dist/production/src/modifications/fields/RemoveFieldModification.js.map +1 -1
- package/dist/production/src/modifications/fields/UpdateFieldNameModification.cjs.map +1 -1
- package/dist/production/src/modifications/fields/UpdateFieldNameModification.js.map +1 -1
- package/dist/production/src/modifications/indexes/CreateIndexModification.cjs.map +1 -1
- package/dist/production/src/modifications/indexes/CreateIndexModification.js.map +1 -1
- package/dist/production/src/modifications/indexes/RemoveIndexModification.cjs.map +1 -1
- package/dist/production/src/modifications/indexes/RemoveIndexModification.js.map +1 -1
- package/dist/production/src/modifications/indexes/utils.cjs.map +1 -1
- package/dist/production/src/modifications/indexes/utils.js.map +1 -1
- package/dist/production/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.cjs.map +1 -1
- package/dist/production/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.js.map +1 -1
- package/dist/production/src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.cjs.map +1 -1
- package/dist/production/src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.js.map +1 -1
- package/dist/production/src/modifications/relations/ConvertOneToManyRelationModification.cjs.map +1 -1
- package/dist/production/src/modifications/relations/ConvertOneToManyRelationModification.js.map +1 -1
- package/dist/production/src/modifications/relations/CreateRelationInverseSideModification.cjs.map +1 -1
- package/dist/production/src/modifications/relations/CreateRelationInverseSideModification.js.map +1 -1
- package/dist/production/src/modifications/relations/CreateRelationModification.cjs.map +1 -1
- package/dist/production/src/modifications/relations/CreateRelationModification.js.map +1 -1
- package/dist/production/src/modifications/relations/DisableOrphanRemovalModification.cjs.map +1 -1
- package/dist/production/src/modifications/relations/DisableOrphanRemovalModification.js.map +1 -1
- package/dist/production/src/modifications/relations/EnableOrphanRemovalModification.cjs.map +1 -1
- package/dist/production/src/modifications/relations/EnableOrphanRemovalModification.js.map +1 -1
- package/dist/production/src/modifications/relations/MakeRelationNotNullModification.cjs.map +1 -1
- package/dist/production/src/modifications/relations/MakeRelationNotNullModification.js.map +1 -1
- package/dist/production/src/modifications/relations/MakeRelationNullableModification.cjs.map +1 -1
- package/dist/production/src/modifications/relations/MakeRelationNullableModification.js.map +1 -1
- package/dist/production/src/modifications/relations/ToggleJunctionEventLogModification.cjs.map +1 -1
- package/dist/production/src/modifications/relations/ToggleJunctionEventLogModification.js.map +1 -1
- package/dist/production/src/modifications/relations/UpdateRelationOnDeleteModification.cjs.map +1 -1
- package/dist/production/src/modifications/relations/UpdateRelationOnDeleteModification.js.map +1 -1
- package/dist/production/src/modifications/relations/UpdateRelationOrderByModification.cjs.map +1 -1
- package/dist/production/src/modifications/relations/UpdateRelationOrderByModification.js.map +1 -1
- package/dist/production/src/modifications/relations/helpers.cjs.map +1 -1
- package/dist/production/src/modifications/relations/helpers.js.map +1 -1
- package/dist/production/src/modifications/relations/normalization.cjs.map +1 -1
- package/dist/production/src/modifications/relations/normalization.js.map +1 -1
- package/dist/production/src/modifications/settings/UpdateSettingsModification.cjs.map +1 -1
- package/dist/production/src/modifications/settings/UpdateSettingsModification.js.map +1 -1
- package/dist/production/src/modifications/upgrade/RemoveIndexNamesModification.cjs.map +1 -1
- package/dist/production/src/modifications/upgrade/RemoveIndexNamesModification.js.map +1 -1
- package/dist/production/src/modifications/utils/createJunctionTable.cjs.map +1 -1
- package/dist/production/src/modifications/utils/createJunctionTable.js.map +1 -1
- package/dist/production/src/modifications/utils/diffUtils.cjs.map +1 -1
- package/dist/production/src/modifications/utils/diffUtils.js.map +1 -1
- package/dist/production/src/modifications/utils/schemaUpdateUtils.cjs.map +1 -1
- package/dist/production/src/modifications/utils/schemaUpdateUtils.js.map +1 -1
- package/dist/production/src/modifications/utils/sqlUpdateUtils.cjs.map +1 -1
- package/dist/production/src/modifications/utils/sqlUpdateUtils.js.map +1 -1
- package/dist/production/src/modifications/utils/viewDependencies.cjs.map +1 -1
- package/dist/production/src/modifications/utils/viewDependencies.js.map +1 -1
- package/dist/production/src/modifications/validation/PatchValidationSchemaModification.cjs.map +1 -1
- package/dist/production/src/modifications/validation/PatchValidationSchemaModification.js.map +1 -1
- package/dist/production/src/modifications/validation/UpdateValidationSchemaModification.cjs.map +1 -1
- package/dist/production/src/modifications/validation/UpdateValidationSchemaModification.js.map +1 -1
- package/dist/production/src/utils/deepCopy.cjs.map +1 -1
- package/dist/production/src/utils/deepCopy.js.map +1 -1
- package/dist/tests/src/tests.d.ts +1 -1
- package/dist/tests/src/tests.d.ts.map +1 -1
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -8
- package/tests/cases/integration/convertManyHasOneToOneHasOneRelation.test.ts +23 -19
- package/tests/cases/integration/convertOneHasManyToManyHasManyRelation.test.ts +57 -55
- package/tests/cases/integration/convertOneToManyRelation.test.ts +46 -42
- package/tests/cases/integration/createAndDropIndex.test.ts +5 -4
- package/tests/cases/integration/createColumn.test.ts +7 -6
- package/tests/cases/integration/createEntity.test.ts +5 -4
- package/tests/cases/integration/createEnum.test.ts +3 -2
- package/tests/cases/integration/createManyHasMany.test.ts +3 -2
- package/tests/cases/integration/createManyHasOne.test.ts +3 -2
- package/tests/cases/integration/createOneHasMany.test.ts +3 -2
- package/tests/cases/integration/createOneHasOne.test.ts +3 -2
- package/tests/cases/integration/createRelationInverseSide.test.ts +5 -4
- package/tests/cases/integration/createUnique.test.ts +11 -10
- package/tests/cases/integration/createView.test.ts +5 -4
- package/tests/cases/integration/disableOrphanRemoval.test.ts +3 -2
- package/tests/cases/integration/enableOrphanRemoval.test.ts +3 -2
- package/tests/cases/integration/makeColumnNotNull.test.ts +3 -2
- package/tests/cases/integration/makeRelationNotNull.test.ts +3 -2
- package/tests/cases/integration/makeRelationNullable.test.ts +5 -4
- package/tests/cases/integration/patchAclSchema.test.ts +3 -2
- package/tests/cases/integration/removeEntity.test.ts +15 -14
- package/tests/cases/integration/removeEnum.test.ts +3 -2
- package/tests/cases/integration/removeField.test.ts +13 -12
- package/tests/cases/integration/toggleEventLog.test.ts +5 -4
- package/tests/cases/integration/toggleJunctionEventLog.test.ts +5 -4
- package/tests/cases/integration/updateColumnDefinition.test.ts +11 -10
- package/tests/cases/integration/updateEntityName.test.ts +9 -8
- package/tests/cases/integration/updateEntityOrderBy.test.ts +5 -4
- package/tests/cases/integration/updateEnum.test.ts +3 -2
- package/tests/cases/integration/updateFieldName.test.ts +13 -12
- package/tests/cases/integration/updateRelationOnDelete.test.ts +4 -2
- package/tests/cases/integration/updateRelationOrderBy.test.ts +3 -2
- package/tests/cases/integration/updateView.test.ts +9 -8
- package/tests/src/tests.ts +17 -19
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateEntityNameModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/UpdateEntityNameModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Acl, Model, Schema } from '@contember/schema'\nimport {\n\tSchemaUpdater,\n\tupdateAcl,\n\tupdateAclEntities,\n\tupdateAclEveryRole,\n\tupdateEveryEntity,\n\tupdateEveryField,\n\tupdateModel,\n\tupdateSchema,\n} from '../utils/schemaUpdateUtils'\nimport {\n\tcreateModificationType,\n\tModificationHandler,\n\tModificationHandlerCreateSqlOptions,\n\tModificationHandlerOptions,\n} from '../ModificationHandler'\nimport { isIt } from '../../utils/isIt'\nimport { VERSION_ACL_PATCH } from '../ModificationVersions'\nimport { NoopModification } from '../NoopModification'\nimport { changeValue } from '../utils/valueUtils'\nimport { updateEntityTableNameModification } from './UpdateEntityTableNameModification'\n\nexport class UpdateEntityNameModificationHandler implements ModificationHandler<UpdateEntityNameModificationData> {\n\tprivate subModification: ModificationHandler<any>\n\n\tconstructor(\n\t\tprivate readonly data: UpdateEntityNameModificationData,\n\t\tprivate readonly schema: Schema,\n\t\tprivate readonly options: ModificationHandlerOptions,\n\t) {\n\t\tthis.subModification = data.tableName\n\t\t\t? updateEntityTableNameModification.createHandler(\n\t\t\t\t{ entityName: data.entityName, tableName: data.tableName },\n\t\t\t\tschema,\n\t\t\t\tthis.options,\n\t\t\t )\n\t\t\t: new NoopModification()\n\t}\n\n\tpublic createSql(builder: MigrationBuilder, options: ModificationHandlerCreateSqlOptions): void {\n\t\tthis.subModification.createSql(builder, options)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateSchema(\n\t\t\tthis.subModification.getSchemaUpdater(),\n\t\t\tupdateModel(\n\t\t\t\tupdateEveryEntity(\n\t\t\t\t\tupdateEveryField(({ field }) => {\n\t\t\t\t\t\tif (isIt<Model.AnyRelation>(field, 'target') && field.target === this.data.entityName) {\n\t\t\t\t\t\t\treturn { ...field, target: this.data.newEntityName }\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn field\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t\t({ model }) => {\n\t\t\t\t\tconst { [this.data.entityName]: renamed, ...entities } = model.entities\n\t\t\t\t\tconst newEntities = {\n\t\t\t\t\t\t...entities,\n\t\t\t\t\t\t[this.data.newEntityName]: {\n\t\t\t\t\t\t\t...renamed,\n\t\t\t\t\t\t\tname: this.data.newEntityName,\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...model,\n\t\t\t\t\t\tentities: newEntities,\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t),\n\t\t\tthis.options.formatVersion >= VERSION_ACL_PATCH\n\t\t\t\t? updateAcl(\n\t\t\t\t\tupdateAclEveryRole(\n\t\t\t\t\t\t({ role }) => ({\n\t\t\t\t\t\t\t...role,\n\t\t\t\t\t\t\tvariables: Object.fromEntries(\n\t\t\t\t\t\t\t\tObject.entries(role.variables).map(([key, variable]) => {\n\t\t\t\t\t\t\t\t\tif (variable.type === Acl.VariableType.entity) {\n\t\t\t\t\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t...variable,\n\t\t\t\t\t\t\t\t\t\t\t\tentityName: changeValue(this.data.entityName, this.data.newEntityName)(variable.entityName),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn [key, variable]\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tupdateAclEntities(({ entities }) => {\n\t\t\t\t\t\t\tif (!entities[this.data.entityName]) {\n\t\t\t\t\t\t\t\treturn entities\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst { [this.data.entityName]: renamed, ...other } = entities\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t[this.data.newEntityName]: renamed,\n\t\t\t\t\t\t\t\t...other,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}),\n\t\t\t\t\t),\n\t\t\t\t )\n\t\t\t\t: undefined,\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Change entity name from ${this.data.entityName} to ${this.data.newEntityName}` }\n\t}\n}\n\nexport interface UpdateEntityNameModificationData {\n\tentityName: string\n\tnewEntityName: string\n\ttableName?: string\n}\n\nexport const updateEntityNameModification = createModificationType({\n\tid: 'updateEntityName',\n\thandler: UpdateEntityNameModificationHandler,\n})\n"],"names":["schema","updateEntityTableNameModification","NoopModification","updateSchema","updateModel","updateEveryEntity","updateEveryField","isIt","VERSION_ACL_PATCH","updateAcl","updateAclEveryRole","Acl","changeValue","updateAclEntities","createModificationType"],"mappings":";;;;;;;;;;;;;AAwBO,MAAM,oCAAqG;AAAA,EAGjH,YACkB,MACAA,SACA,SAChB;AAHgB,SAAA,OAAA;AACA,SAAA,SAAAA;AACA,SAAA,UAAA;AALV,kBAAA,MAAA,iBAAA;AAOF,SAAA,kBAAkB,KAAK,YACzBC,kCAAkC,kCAAA;AAAA,MACnC,EAAE,YAAY,KAAK,YAAY,WAAW,KAAK,UAAU;AAAA,MACzDD;AAAA,MACA,KAAK;AAAA,
|
|
1
|
+
{"version":3,"file":"UpdateEntityNameModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/UpdateEntityNameModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Acl, Model, Schema } from '@contember/schema'\nimport {\n\tSchemaUpdater,\n\tupdateAcl,\n\tupdateAclEntities,\n\tupdateAclEveryRole,\n\tupdateEveryEntity,\n\tupdateEveryField,\n\tupdateModel,\n\tupdateSchema,\n} from '../utils/schemaUpdateUtils'\nimport {\n\tcreateModificationType,\n\tModificationHandler,\n\tModificationHandlerCreateSqlOptions,\n\tModificationHandlerOptions,\n} from '../ModificationHandler'\nimport { isIt } from '../../utils/isIt'\nimport { VERSION_ACL_PATCH } from '../ModificationVersions'\nimport { NoopModification } from '../NoopModification'\nimport { changeValue } from '../utils/valueUtils'\nimport { updateEntityTableNameModification } from './UpdateEntityTableNameModification'\n\nexport class UpdateEntityNameModificationHandler implements ModificationHandler<UpdateEntityNameModificationData> {\n\tprivate subModification: ModificationHandler<any>\n\n\tconstructor(\n\t\tprivate readonly data: UpdateEntityNameModificationData,\n\t\tprivate readonly schema: Schema,\n\t\tprivate readonly options: ModificationHandlerOptions,\n\t) {\n\t\tthis.subModification = data.tableName\n\t\t\t? updateEntityTableNameModification.createHandler(\n\t\t\t\t{ entityName: data.entityName, tableName: data.tableName },\n\t\t\t\tschema,\n\t\t\t\tthis.options,\n\t\t\t )\n\t\t\t: new NoopModification()\n\t}\n\n\tpublic createSql(builder: MigrationBuilder, options: ModificationHandlerCreateSqlOptions): void {\n\t\tthis.subModification.createSql(builder, options)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateSchema(\n\t\t\tthis.subModification.getSchemaUpdater(),\n\t\t\tupdateModel(\n\t\t\t\tupdateEveryEntity(\n\t\t\t\t\tupdateEveryField(({ field }) => {\n\t\t\t\t\t\tif (isIt<Model.AnyRelation>(field, 'target') && field.target === this.data.entityName) {\n\t\t\t\t\t\t\treturn { ...field, target: this.data.newEntityName }\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn field\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t\t({ model }) => {\n\t\t\t\t\tconst { [this.data.entityName]: renamed, ...entities } = model.entities\n\t\t\t\t\tconst newEntities = {\n\t\t\t\t\t\t...entities,\n\t\t\t\t\t\t[this.data.newEntityName]: {\n\t\t\t\t\t\t\t...renamed,\n\t\t\t\t\t\t\tname: this.data.newEntityName,\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...model,\n\t\t\t\t\t\tentities: newEntities,\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t),\n\t\t\tthis.options.formatVersion >= VERSION_ACL_PATCH\n\t\t\t\t? updateAcl(\n\t\t\t\t\tupdateAclEveryRole(\n\t\t\t\t\t\t({ role }) => ({\n\t\t\t\t\t\t\t...role,\n\t\t\t\t\t\t\tvariables: Object.fromEntries(\n\t\t\t\t\t\t\t\tObject.entries(role.variables).map(([key, variable]) => {\n\t\t\t\t\t\t\t\t\tif (variable.type === Acl.VariableType.entity) {\n\t\t\t\t\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t...variable,\n\t\t\t\t\t\t\t\t\t\t\t\tentityName: changeValue(this.data.entityName, this.data.newEntityName)(variable.entityName),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn [key, variable]\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tupdateAclEntities(({ entities }) => {\n\t\t\t\t\t\t\tif (!entities[this.data.entityName]) {\n\t\t\t\t\t\t\t\treturn entities\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst { [this.data.entityName]: renamed, ...other } = entities\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t[this.data.newEntityName]: renamed,\n\t\t\t\t\t\t\t\t...other,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}),\n\t\t\t\t\t),\n\t\t\t\t )\n\t\t\t\t: undefined,\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Change entity name from ${this.data.entityName} to ${this.data.newEntityName}` }\n\t}\n}\n\nexport interface UpdateEntityNameModificationData {\n\tentityName: string\n\tnewEntityName: string\n\ttableName?: string\n}\n\nexport const updateEntityNameModification = createModificationType({\n\tid: 'updateEntityName',\n\thandler: UpdateEntityNameModificationHandler,\n})\n"],"names":["schema","updateEntityTableNameModification","NoopModification","updateSchema","updateModel","updateEveryEntity","updateEveryField","isIt","VERSION_ACL_PATCH","updateAcl","updateAclEveryRole","Acl","changeValue","updateAclEntities","createModificationType"],"mappings":";;;;;;;;;;;;;AAwBO,MAAM,oCAAqG;AAAA,EAGjH,YACkB,MACAA,SACA,SAChB;AAHgB,SAAA,OAAA;AACA,SAAA,SAAAA;AACA,SAAA,UAAA;AALV,kBAAA,MAAA,iBAAA;AAOF,SAAA,kBAAkB,KAAK,YACzBC,kCAAkC,kCAAA;AAAA,MACnC,EAAE,YAAY,KAAK,YAAY,WAAW,KAAK,UAAU;AAAA,MACzDD;AAAA,MACA,KAAK;AAAA,IACJ,IACA,IAAIE,iBAAAA,iBAAiB;AAAA,EAAA;AAAA,EAGlB,UAAU,SAA2B,SAAoD;AAC1F,SAAA,gBAAgB,UAAU,SAAS,OAAO;AAAA,EAAA;AAAA,EAGzC,mBAAkC;AACjC,WAAAC,kBAAA;AAAA,MACN,KAAK,gBAAgB,iBAAiB;AAAA,MACtCC,kBAAA;AAAA,QACCC,kBAAA;AAAA,UACCC,mCAAiB,CAAC,EAAE,YAAY;AAC3B,gBAAAC,KAAA,KAAwB,OAAO,QAAQ,KAAK,MAAM,WAAW,KAAK,KAAK,YAAY;AACtF,qBAAO,EAAE,GAAG,OAAO,QAAQ,KAAK,KAAK,cAAc;AAAA,YAAA;AAE7C,mBAAA;AAAA,UACP,CAAA;AAAA,QACF;AAAA,QACA,CAAC,EAAE,MAAA,MAAY;AACR,gBAAA,EAAE,CAAC,KAAK,KAAK,UAAU,GAAG,SAAS,GAAG,aAAa,MAAM;AAC/D,gBAAM,cAAc;AAAA,YACnB,GAAG;AAAA,YACH,CAAC,KAAK,KAAK,aAAa,GAAG;AAAA,cAC1B,GAAG;AAAA,cACH,MAAM,KAAK,KAAK;AAAA,YAAA;AAAA,UAElB;AACO,iBAAA;AAAA,YACN,GAAG;AAAA,YACH,UAAU;AAAA,UACX;AAAA,QAAA;AAAA,MAEF;AAAA,MACA,KAAK,QAAQ,iBAAiBC,qBAAAA,oBAC3BC,kBAAA;AAAA,QACDC,kBAAA;AAAA,UACC,CAAC,EAAE,KAAA,OAAY;AAAA,YACd,GAAG;AAAA,YACH,WAAW,OAAO;AAAA,cACjB,OAAO,QAAQ,KAAK,SAAS,EAAE,IAAI,CAAC,CAAC,KAAK,QAAQ,MAAM;AACvD,oBAAI,SAAS,SAASC,WAAI,aAAa,QAAQ;AACvC,yBAAA;AAAA,oBACN;AAAA,oBACA;AAAA,sBACC,GAAG;AAAA,sBACH,YAAYC,WAAAA,YAAY,KAAK,KAAK,YAAY,KAAK,KAAK,aAAa,EAAE,SAAS,UAAU;AAAA,oBAAA;AAAA,kBAE5F;AAAA,gBAAA;AAEM,uBAAA,CAAC,KAAK,QAAQ;AAAA,cACrB,CAAA;AAAA,YAAA;AAAA,UACF;AAAA,UAEDC,oCAAkB,CAAC,EAAE,eAAe;AACnC,gBAAI,CAAC,SAAS,KAAK,KAAK,UAAU,GAAG;AAC7B,qBAAA;AAAA,YAAA;AAEF,kBAAA,EAAE,CAAC,KAAK,KAAK,UAAU,GAAG,SAAS,GAAG,MAAA,IAAU;AAC/C,mBAAA;AAAA,cACN,CAAC,KAAK,KAAK,aAAa,GAAG;AAAA,cAC3B,GAAG;AAAA,YACJ;AAAA,UACA,CAAA;AAAA,QAAA;AAAA,MACF,IAEC;AAAA,IACJ;AAAA,EAAA;AAAA,EAGD,WAAW;AACH,WAAA,EAAE,SAAS,2BAA2B,KAAK,KAAK,UAAU,OAAO,KAAK,KAAK,aAAa,GAAG;AAAA,EAAA;AAEpG;AAQO,MAAM,+BAA+BC,oBAAAA,uBAAuB;AAAA,EAClE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateEntityNameModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/UpdateEntityNameModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Acl, Model, Schema } from '@contember/schema'\nimport {\n\tSchemaUpdater,\n\tupdateAcl,\n\tupdateAclEntities,\n\tupdateAclEveryRole,\n\tupdateEveryEntity,\n\tupdateEveryField,\n\tupdateModel,\n\tupdateSchema,\n} from '../utils/schemaUpdateUtils'\nimport {\n\tcreateModificationType,\n\tModificationHandler,\n\tModificationHandlerCreateSqlOptions,\n\tModificationHandlerOptions,\n} from '../ModificationHandler'\nimport { isIt } from '../../utils/isIt'\nimport { VERSION_ACL_PATCH } from '../ModificationVersions'\nimport { NoopModification } from '../NoopModification'\nimport { changeValue } from '../utils/valueUtils'\nimport { updateEntityTableNameModification } from './UpdateEntityTableNameModification'\n\nexport class UpdateEntityNameModificationHandler implements ModificationHandler<UpdateEntityNameModificationData> {\n\tprivate subModification: ModificationHandler<any>\n\n\tconstructor(\n\t\tprivate readonly data: UpdateEntityNameModificationData,\n\t\tprivate readonly schema: Schema,\n\t\tprivate readonly options: ModificationHandlerOptions,\n\t) {\n\t\tthis.subModification = data.tableName\n\t\t\t? updateEntityTableNameModification.createHandler(\n\t\t\t\t{ entityName: data.entityName, tableName: data.tableName },\n\t\t\t\tschema,\n\t\t\t\tthis.options,\n\t\t\t )\n\t\t\t: new NoopModification()\n\t}\n\n\tpublic createSql(builder: MigrationBuilder, options: ModificationHandlerCreateSqlOptions): void {\n\t\tthis.subModification.createSql(builder, options)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateSchema(\n\t\t\tthis.subModification.getSchemaUpdater(),\n\t\t\tupdateModel(\n\t\t\t\tupdateEveryEntity(\n\t\t\t\t\tupdateEveryField(({ field }) => {\n\t\t\t\t\t\tif (isIt<Model.AnyRelation>(field, 'target') && field.target === this.data.entityName) {\n\t\t\t\t\t\t\treturn { ...field, target: this.data.newEntityName }\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn field\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t\t({ model }) => {\n\t\t\t\t\tconst { [this.data.entityName]: renamed, ...entities } = model.entities\n\t\t\t\t\tconst newEntities = {\n\t\t\t\t\t\t...entities,\n\t\t\t\t\t\t[this.data.newEntityName]: {\n\t\t\t\t\t\t\t...renamed,\n\t\t\t\t\t\t\tname: this.data.newEntityName,\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...model,\n\t\t\t\t\t\tentities: newEntities,\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t),\n\t\t\tthis.options.formatVersion >= VERSION_ACL_PATCH\n\t\t\t\t? updateAcl(\n\t\t\t\t\tupdateAclEveryRole(\n\t\t\t\t\t\t({ role }) => ({\n\t\t\t\t\t\t\t...role,\n\t\t\t\t\t\t\tvariables: Object.fromEntries(\n\t\t\t\t\t\t\t\tObject.entries(role.variables).map(([key, variable]) => {\n\t\t\t\t\t\t\t\t\tif (variable.type === Acl.VariableType.entity) {\n\t\t\t\t\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t...variable,\n\t\t\t\t\t\t\t\t\t\t\t\tentityName: changeValue(this.data.entityName, this.data.newEntityName)(variable.entityName),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn [key, variable]\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tupdateAclEntities(({ entities }) => {\n\t\t\t\t\t\t\tif (!entities[this.data.entityName]) {\n\t\t\t\t\t\t\t\treturn entities\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst { [this.data.entityName]: renamed, ...other } = entities\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t[this.data.newEntityName]: renamed,\n\t\t\t\t\t\t\t\t...other,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}),\n\t\t\t\t\t),\n\t\t\t\t )\n\t\t\t\t: undefined,\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Change entity name from ${this.data.entityName} to ${this.data.newEntityName}` }\n\t}\n}\n\nexport interface UpdateEntityNameModificationData {\n\tentityName: string\n\tnewEntityName: string\n\ttableName?: string\n}\n\nexport const updateEntityNameModification = createModificationType({\n\tid: 'updateEntityName',\n\thandler: UpdateEntityNameModificationHandler,\n})\n"],"names":[],"mappings":";;;;;;;;;;;AAwBO,MAAM,oCAAqG;AAAA,EAGjH,YACkB,MACA,QACA,SAChB;AAHgB,SAAA,OAAA;AACA,SAAA,SAAA;AACA,SAAA,UAAA;AALV,kBAAA,MAAA,iBAAA;AAOF,SAAA,kBAAkB,KAAK,YACzB,kCAAkC;AAAA,MACnC,EAAE,YAAY,KAAK,YAAY,WAAW,KAAK,UAAU;AAAA,MACzD;AAAA,MACA,KAAK;AAAA,
|
|
1
|
+
{"version":3,"file":"UpdateEntityNameModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/UpdateEntityNameModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Acl, Model, Schema } from '@contember/schema'\nimport {\n\tSchemaUpdater,\n\tupdateAcl,\n\tupdateAclEntities,\n\tupdateAclEveryRole,\n\tupdateEveryEntity,\n\tupdateEveryField,\n\tupdateModel,\n\tupdateSchema,\n} from '../utils/schemaUpdateUtils'\nimport {\n\tcreateModificationType,\n\tModificationHandler,\n\tModificationHandlerCreateSqlOptions,\n\tModificationHandlerOptions,\n} from '../ModificationHandler'\nimport { isIt } from '../../utils/isIt'\nimport { VERSION_ACL_PATCH } from '../ModificationVersions'\nimport { NoopModification } from '../NoopModification'\nimport { changeValue } from '../utils/valueUtils'\nimport { updateEntityTableNameModification } from './UpdateEntityTableNameModification'\n\nexport class UpdateEntityNameModificationHandler implements ModificationHandler<UpdateEntityNameModificationData> {\n\tprivate subModification: ModificationHandler<any>\n\n\tconstructor(\n\t\tprivate readonly data: UpdateEntityNameModificationData,\n\t\tprivate readonly schema: Schema,\n\t\tprivate readonly options: ModificationHandlerOptions,\n\t) {\n\t\tthis.subModification = data.tableName\n\t\t\t? updateEntityTableNameModification.createHandler(\n\t\t\t\t{ entityName: data.entityName, tableName: data.tableName },\n\t\t\t\tschema,\n\t\t\t\tthis.options,\n\t\t\t )\n\t\t\t: new NoopModification()\n\t}\n\n\tpublic createSql(builder: MigrationBuilder, options: ModificationHandlerCreateSqlOptions): void {\n\t\tthis.subModification.createSql(builder, options)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateSchema(\n\t\t\tthis.subModification.getSchemaUpdater(),\n\t\t\tupdateModel(\n\t\t\t\tupdateEveryEntity(\n\t\t\t\t\tupdateEveryField(({ field }) => {\n\t\t\t\t\t\tif (isIt<Model.AnyRelation>(field, 'target') && field.target === this.data.entityName) {\n\t\t\t\t\t\t\treturn { ...field, target: this.data.newEntityName }\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn field\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t\t({ model }) => {\n\t\t\t\t\tconst { [this.data.entityName]: renamed, ...entities } = model.entities\n\t\t\t\t\tconst newEntities = {\n\t\t\t\t\t\t...entities,\n\t\t\t\t\t\t[this.data.newEntityName]: {\n\t\t\t\t\t\t\t...renamed,\n\t\t\t\t\t\t\tname: this.data.newEntityName,\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...model,\n\t\t\t\t\t\tentities: newEntities,\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t),\n\t\t\tthis.options.formatVersion >= VERSION_ACL_PATCH\n\t\t\t\t? updateAcl(\n\t\t\t\t\tupdateAclEveryRole(\n\t\t\t\t\t\t({ role }) => ({\n\t\t\t\t\t\t\t...role,\n\t\t\t\t\t\t\tvariables: Object.fromEntries(\n\t\t\t\t\t\t\t\tObject.entries(role.variables).map(([key, variable]) => {\n\t\t\t\t\t\t\t\t\tif (variable.type === Acl.VariableType.entity) {\n\t\t\t\t\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t...variable,\n\t\t\t\t\t\t\t\t\t\t\t\tentityName: changeValue(this.data.entityName, this.data.newEntityName)(variable.entityName),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn [key, variable]\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tupdateAclEntities(({ entities }) => {\n\t\t\t\t\t\t\tif (!entities[this.data.entityName]) {\n\t\t\t\t\t\t\t\treturn entities\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst { [this.data.entityName]: renamed, ...other } = entities\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t[this.data.newEntityName]: renamed,\n\t\t\t\t\t\t\t\t...other,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}),\n\t\t\t\t\t),\n\t\t\t\t )\n\t\t\t\t: undefined,\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Change entity name from ${this.data.entityName} to ${this.data.newEntityName}` }\n\t}\n}\n\nexport interface UpdateEntityNameModificationData {\n\tentityName: string\n\tnewEntityName: string\n\ttableName?: string\n}\n\nexport const updateEntityNameModification = createModificationType({\n\tid: 'updateEntityName',\n\thandler: UpdateEntityNameModificationHandler,\n})\n"],"names":[],"mappings":";;;;;;;;;;;AAwBO,MAAM,oCAAqG;AAAA,EAGjH,YACkB,MACA,QACA,SAChB;AAHgB,SAAA,OAAA;AACA,SAAA,SAAA;AACA,SAAA,UAAA;AALV,kBAAA,MAAA,iBAAA;AAOF,SAAA,kBAAkB,KAAK,YACzB,kCAAkC;AAAA,MACnC,EAAE,YAAY,KAAK,YAAY,WAAW,KAAK,UAAU;AAAA,MACzD;AAAA,MACA,KAAK;AAAA,IACJ,IACA,IAAI,iBAAiB;AAAA,EAAA;AAAA,EAGlB,UAAU,SAA2B,SAAoD;AAC1F,SAAA,gBAAgB,UAAU,SAAS,OAAO;AAAA,EAAA;AAAA,EAGzC,mBAAkC;AACjC,WAAA;AAAA,MACN,KAAK,gBAAgB,iBAAiB;AAAA,MACtC;AAAA,QACC;AAAA,UACC,iBAAiB,CAAC,EAAE,YAAY;AAC3B,gBAAA,KAAwB,OAAO,QAAQ,KAAK,MAAM,WAAW,KAAK,KAAK,YAAY;AACtF,qBAAO,EAAE,GAAG,OAAO,QAAQ,KAAK,KAAK,cAAc;AAAA,YAAA;AAE7C,mBAAA;AAAA,UACP,CAAA;AAAA,QACF;AAAA,QACA,CAAC,EAAE,MAAA,MAAY;AACR,gBAAA,EAAE,CAAC,KAAK,KAAK,UAAU,GAAG,SAAS,GAAG,aAAa,MAAM;AAC/D,gBAAM,cAAc;AAAA,YACnB,GAAG;AAAA,YACH,CAAC,KAAK,KAAK,aAAa,GAAG;AAAA,cAC1B,GAAG;AAAA,cACH,MAAM,KAAK,KAAK;AAAA,YAAA;AAAA,UAElB;AACO,iBAAA;AAAA,YACN,GAAG;AAAA,YACH,UAAU;AAAA,UACX;AAAA,QAAA;AAAA,MAEF;AAAA,MACA,KAAK,QAAQ,iBAAiB,oBAC3B;AAAA,QACD;AAAA,UACC,CAAC,EAAE,KAAA,OAAY;AAAA,YACd,GAAG;AAAA,YACH,WAAW,OAAO;AAAA,cACjB,OAAO,QAAQ,KAAK,SAAS,EAAE,IAAI,CAAC,CAAC,KAAK,QAAQ,MAAM;AACvD,oBAAI,SAAS,SAAS,IAAI,aAAa,QAAQ;AACvC,yBAAA;AAAA,oBACN;AAAA,oBACA;AAAA,sBACC,GAAG;AAAA,sBACH,YAAY,YAAY,KAAK,KAAK,YAAY,KAAK,KAAK,aAAa,EAAE,SAAS,UAAU;AAAA,oBAAA;AAAA,kBAE5F;AAAA,gBAAA;AAEM,uBAAA,CAAC,KAAK,QAAQ;AAAA,cACrB,CAAA;AAAA,YAAA;AAAA,UACF;AAAA,UAED,kBAAkB,CAAC,EAAE,eAAe;AACnC,gBAAI,CAAC,SAAS,KAAK,KAAK,UAAU,GAAG;AAC7B,qBAAA;AAAA,YAAA;AAEF,kBAAA,EAAE,CAAC,KAAK,KAAK,UAAU,GAAG,SAAS,GAAG,MAAA,IAAU;AAC/C,mBAAA;AAAA,cACN,CAAC,KAAK,KAAK,aAAa,GAAG;AAAA,cAC3B,GAAG;AAAA,YACJ;AAAA,UACA,CAAA;AAAA,QAAA;AAAA,MACF,IAEC;AAAA,IACJ;AAAA,EAAA;AAAA,EAGD,WAAW;AACH,WAAA,EAAE,SAAS,2BAA2B,KAAK,KAAK,UAAU,OAAO,KAAK,KAAK,aAAa,GAAG;AAAA,EAAA;AAEpG;AAQO,MAAM,+BAA+B,uBAAuB;AAAA,EAClE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateEntityOrderByModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/UpdateEntityOrderByModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport deepEqual from 'fast-deep-equal'\n\nexport class UpdateEntityOrderByModificationHandler implements ModificationHandler<UpdateEntityOrderByModificationData> {\n\n\tconstructor(private readonly data: UpdateEntityOrderByModificationData, private readonly schema: Schema) { }\n\n\tpublic createSql(builder: MigrationBuilder): void { }\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, orderBy } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(entityName, ({ entity }) => {\n\t\t\t\tif (orderBy) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...entity,\n\t\t\t\t\t\torderBy,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst { orderBy: _, ...rest } = entity\n\t\t\t\treturn rest\n\t\t\t}),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Update order-by of entity ${this.data.entityName}` }\n\t}\n}\n\nexport interface UpdateEntityOrderByModificationData {\n\tentityName: string\n\torderBy?: readonly Model.OrderBy[]\n}\n\nexport const updateEntityOrderByModification = createModificationType({\n\tid: 'updateEntityOrderBy',\n\thandler: UpdateEntityOrderByModificationHandler,\n})\n\nexport class UpdateEntityOrderByDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.values(updatedSchema.model.entities)\n\t\t\t.flatMap(updatedEntity => {\n\t\t\t\tconst origEntity = originalSchema.model.entities[updatedEntity.name]\n\t\t\t\tif (!origEntity) {\n\t\t\t\t\treturn []\n\t\t\t\t}\n\n\t\t\t\tif (!deepEqual(updatedEntity.orderBy ?? [], origEntity.orderBy ?? [])) {\n\t\t\t\t\tif (updatedEntity.orderBy) {\n\t\t\t\t\t\treturn [updateEntityOrderByModification.createModification({\n\t\t\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\t\t\torderBy: updatedEntity.orderBy,\n\t\t\t\t\t\t})]\n\t\t\t\t\t}\n\t\t\t\t\treturn [updateEntityOrderByModification.createModification({\n\t\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\t})]\n\t\t\t\t}\n\t\t\t\treturn []\n\t\t\t})\n\n\t}\n}\n"],"names":["updateModel","updateEntity","createModificationType"],"mappings":";;;;;AAMO,MAAM,uCAA2G;AAAA,EAEvH,YAA6B,MAA4D,QAAgB;AAA5E,SAAA,OAAA;AAA4D,SAAA,SAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"UpdateEntityOrderByModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/UpdateEntityOrderByModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport deepEqual from 'fast-deep-equal'\n\nexport class UpdateEntityOrderByModificationHandler implements ModificationHandler<UpdateEntityOrderByModificationData> {\n\n\tconstructor(private readonly data: UpdateEntityOrderByModificationData, private readonly schema: Schema) { }\n\n\tpublic createSql(builder: MigrationBuilder): void { }\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, orderBy } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(entityName, ({ entity }) => {\n\t\t\t\tif (orderBy) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...entity,\n\t\t\t\t\t\torderBy,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst { orderBy: _, ...rest } = entity\n\t\t\t\treturn rest\n\t\t\t}),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Update order-by of entity ${this.data.entityName}` }\n\t}\n}\n\nexport interface UpdateEntityOrderByModificationData {\n\tentityName: string\n\torderBy?: readonly Model.OrderBy[]\n}\n\nexport const updateEntityOrderByModification = createModificationType({\n\tid: 'updateEntityOrderBy',\n\thandler: UpdateEntityOrderByModificationHandler,\n})\n\nexport class UpdateEntityOrderByDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.values(updatedSchema.model.entities)\n\t\t\t.flatMap(updatedEntity => {\n\t\t\t\tconst origEntity = originalSchema.model.entities[updatedEntity.name]\n\t\t\t\tif (!origEntity) {\n\t\t\t\t\treturn []\n\t\t\t\t}\n\n\t\t\t\tif (!deepEqual(updatedEntity.orderBy ?? [], origEntity.orderBy ?? [])) {\n\t\t\t\t\tif (updatedEntity.orderBy) {\n\t\t\t\t\t\treturn [updateEntityOrderByModification.createModification({\n\t\t\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\t\t\torderBy: updatedEntity.orderBy,\n\t\t\t\t\t\t})]\n\t\t\t\t\t}\n\t\t\t\t\treturn [updateEntityOrderByModification.createModification({\n\t\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\t})]\n\t\t\t\t}\n\t\t\t\treturn []\n\t\t\t})\n\n\t}\n}\n"],"names":["updateModel","updateEntity","createModificationType"],"mappings":";;;;;AAMO,MAAM,uCAA2G;AAAA,EAEvH,YAA6B,MAA4D,QAAgB;AAA5E,SAAA,OAAA;AAA4D,SAAA,SAAA;AAAA,EAAA;AAAA,EAElF,UAAU,SAAiC;AAAA,EAAA;AAAA,EAE3C,mBAAkC;AACxC,UAAM,EAAE,YAAY,QAAQ,IAAI,KAAK;AAC9B,WAAAA,kBAAA;AAAA,MACNC,kBAAAA,aAAa,YAAY,CAAC,EAAE,aAAa;AACxC,YAAI,SAAS;AACL,iBAAA;AAAA,YACN,GAAG;AAAA,YACH;AAAA,UACD;AAAA,QAAA;AAED,cAAM,EAAE,SAAS,GAAG,GAAG,KAAS,IAAA;AACzB,eAAA;AAAA,MACP,CAAA;AAAA,IACF;AAAA,EAAA;AAAA,EAGD,WAAW;AACV,WAAO,EAAE,SAAS,6BAA6B,KAAK,KAAK,UAAU,GAAG;AAAA,EAAA;AAExE;AAOO,MAAM,kCAAkCC,oBAAAA,uBAAuB;AAAA,EACrE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,0BAA4C;AAAA,EACxD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,OAAO,cAAc,MAAM,QAAQ,EAC/C,QAAQ,CAAiB,kBAAA;AACzB,YAAM,aAAa,eAAe,MAAM,SAAS,cAAc,IAAI;AACnE,UAAI,CAAC,YAAY;AAChB,eAAO,CAAC;AAAA,MAAA;AAGL,UAAA,CAAC,UAAU,cAAc,WAAW,IAAI,WAAW,WAAW,CAAA,CAAE,GAAG;AACtE,YAAI,cAAc,SAAS;AACnB,iBAAA,CAAC,gCAAgC,mBAAmB;AAAA,YAC1D,YAAY,cAAc;AAAA,YAC1B,SAAS,cAAc;AAAA,UAAA,CACvB,CAAC;AAAA,QAAA;AAEI,eAAA,CAAC,gCAAgC,mBAAmB;AAAA,UAC1D,YAAY,cAAc;AAAA,QAAA,CAC1B,CAAC;AAAA,MAAA;AAEH,aAAO,CAAC;AAAA,IAAA,CACR;AAAA,EAAA;AAGJ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateEntityOrderByModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/UpdateEntityOrderByModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport deepEqual from 'fast-deep-equal'\n\nexport class UpdateEntityOrderByModificationHandler implements ModificationHandler<UpdateEntityOrderByModificationData> {\n\n\tconstructor(private readonly data: UpdateEntityOrderByModificationData, private readonly schema: Schema) { }\n\n\tpublic createSql(builder: MigrationBuilder): void { }\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, orderBy } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(entityName, ({ entity }) => {\n\t\t\t\tif (orderBy) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...entity,\n\t\t\t\t\t\torderBy,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst { orderBy: _, ...rest } = entity\n\t\t\t\treturn rest\n\t\t\t}),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Update order-by of entity ${this.data.entityName}` }\n\t}\n}\n\nexport interface UpdateEntityOrderByModificationData {\n\tentityName: string\n\torderBy?: readonly Model.OrderBy[]\n}\n\nexport const updateEntityOrderByModification = createModificationType({\n\tid: 'updateEntityOrderBy',\n\thandler: UpdateEntityOrderByModificationHandler,\n})\n\nexport class UpdateEntityOrderByDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.values(updatedSchema.model.entities)\n\t\t\t.flatMap(updatedEntity => {\n\t\t\t\tconst origEntity = originalSchema.model.entities[updatedEntity.name]\n\t\t\t\tif (!origEntity) {\n\t\t\t\t\treturn []\n\t\t\t\t}\n\n\t\t\t\tif (!deepEqual(updatedEntity.orderBy ?? [], origEntity.orderBy ?? [])) {\n\t\t\t\t\tif (updatedEntity.orderBy) {\n\t\t\t\t\t\treturn [updateEntityOrderByModification.createModification({\n\t\t\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\t\t\torderBy: updatedEntity.orderBy,\n\t\t\t\t\t\t})]\n\t\t\t\t\t}\n\t\t\t\t\treturn [updateEntityOrderByModification.createModification({\n\t\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\t})]\n\t\t\t\t}\n\t\t\t\treturn []\n\t\t\t})\n\n\t}\n}\n"],"names":[],"mappings":";;;AAMO,MAAM,uCAA2G;AAAA,EAEvH,YAA6B,MAA4D,QAAgB;AAA5E,SAAA,OAAA;AAA4D,SAAA,SAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"UpdateEntityOrderByModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/UpdateEntityOrderByModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport deepEqual from 'fast-deep-equal'\n\nexport class UpdateEntityOrderByModificationHandler implements ModificationHandler<UpdateEntityOrderByModificationData> {\n\n\tconstructor(private readonly data: UpdateEntityOrderByModificationData, private readonly schema: Schema) { }\n\n\tpublic createSql(builder: MigrationBuilder): void { }\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, orderBy } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(entityName, ({ entity }) => {\n\t\t\t\tif (orderBy) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...entity,\n\t\t\t\t\t\torderBy,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst { orderBy: _, ...rest } = entity\n\t\t\t\treturn rest\n\t\t\t}),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Update order-by of entity ${this.data.entityName}` }\n\t}\n}\n\nexport interface UpdateEntityOrderByModificationData {\n\tentityName: string\n\torderBy?: readonly Model.OrderBy[]\n}\n\nexport const updateEntityOrderByModification = createModificationType({\n\tid: 'updateEntityOrderBy',\n\thandler: UpdateEntityOrderByModificationHandler,\n})\n\nexport class UpdateEntityOrderByDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.values(updatedSchema.model.entities)\n\t\t\t.flatMap(updatedEntity => {\n\t\t\t\tconst origEntity = originalSchema.model.entities[updatedEntity.name]\n\t\t\t\tif (!origEntity) {\n\t\t\t\t\treturn []\n\t\t\t\t}\n\n\t\t\t\tif (!deepEqual(updatedEntity.orderBy ?? [], origEntity.orderBy ?? [])) {\n\t\t\t\t\tif (updatedEntity.orderBy) {\n\t\t\t\t\t\treturn [updateEntityOrderByModification.createModification({\n\t\t\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\t\t\torderBy: updatedEntity.orderBy,\n\t\t\t\t\t\t})]\n\t\t\t\t\t}\n\t\t\t\t\treturn [updateEntityOrderByModification.createModification({\n\t\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\t})]\n\t\t\t\t}\n\t\t\t\treturn []\n\t\t\t})\n\n\t}\n}\n"],"names":[],"mappings":";;;AAMO,MAAM,uCAA2G;AAAA,EAEvH,YAA6B,MAA4D,QAAgB;AAA5E,SAAA,OAAA;AAA4D,SAAA,SAAA;AAAA,EAAA;AAAA,EAElF,UAAU,SAAiC;AAAA,EAAA;AAAA,EAE3C,mBAAkC;AACxC,UAAM,EAAE,YAAY,QAAQ,IAAI,KAAK;AAC9B,WAAA;AAAA,MACN,aAAa,YAAY,CAAC,EAAE,aAAa;AACxC,YAAI,SAAS;AACL,iBAAA;AAAA,YACN,GAAG;AAAA,YACH;AAAA,UACD;AAAA,QAAA;AAED,cAAM,EAAE,SAAS,GAAG,GAAG,KAAS,IAAA;AACzB,eAAA;AAAA,MACP,CAAA;AAAA,IACF;AAAA,EAAA;AAAA,EAGD,WAAW;AACV,WAAO,EAAE,SAAS,6BAA6B,KAAK,KAAK,UAAU,GAAG;AAAA,EAAA;AAExE;AAOO,MAAM,kCAAkC,uBAAuB;AAAA,EACrE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,0BAA4C;AAAA,EACxD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,OAAO,cAAc,MAAM,QAAQ,EAC/C,QAAQ,CAAiB,kBAAA;AACzB,YAAM,aAAa,eAAe,MAAM,SAAS,cAAc,IAAI;AACnE,UAAI,CAAC,YAAY;AAChB,eAAO,CAAC;AAAA,MAAA;AAGL,UAAA,CAAC,UAAU,cAAc,WAAW,IAAI,WAAW,WAAW,CAAA,CAAE,GAAG;AACtE,YAAI,cAAc,SAAS;AACnB,iBAAA,CAAC,gCAAgC,mBAAmB;AAAA,YAC1D,YAAY,cAAc;AAAA,YAC1B,SAAS,cAAc;AAAA,UAAA,CACvB,CAAC;AAAA,QAAA;AAEI,eAAA,CAAC,gCAAgC,mBAAmB;AAAA,UAC1D,YAAY,cAAc;AAAA,QAAA,CAC1B,CAAC;AAAA,MAAA;AAEH,aAAO,CAAC;AAAA,IAAA,CACR;AAAA,EAAA;AAGJ;"}
|
package/dist/production/src/modifications/entities/UpdateEntityTableNameModification.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateEntityTableNameModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/UpdateEntityTableNameModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class UpdateEntityTableNameModificationHandler implements ModificationHandler<UpdateEntityTableNameModificationData> {\n\tconstructor(private readonly data: UpdateEntityTableNameModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\tbuilder.renameView(entity.tableName, this.data.tableName)\n\t\t\treturn\n\t\t}\n\t\tbuilder.renameTable(entity.tableName, this.data.tableName)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(\n\t\t\tupdateEntity(this.data.entityName, ({ entity }) => ({\n\t\t\t\t...entity,\n\t\t\t\ttableName: this.data.tableName,\n\t\t\t})),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Change table name of entity ${this.data.entityName}` }\n\t}\n}\n\nexport interface UpdateEntityTableNameModificationData {\n\tentityName: string\n\ttableName: string\n}\n\nexport const updateEntityTableNameModification = createModificationType({\n\tid: 'updateEntityTableName',\n\thandler: UpdateEntityTableNameModificationHandler,\n})\n\nexport class UpdateEntityTableNameDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.values(updatedSchema.model.entities)\n\t\t\t.filter(\n\t\t\t\tit =>\n\t\t\t\t\toriginalSchema.model.entities[it.name] && originalSchema.model.entities[it.name].tableName !== it.tableName,\n\t\t\t)\n\t\t\t.map(it => updateEntityTableNameModification.createModification({\n\t\t\t\tentityName: it.name,\n\t\t\t\ttableName: it.tableName,\n\t\t\t}))\n\t}\n}\n"],"names":["updateModel","updateEntity","createModificationType"],"mappings":";;;;AAKO,MAAM,yCAA+G;AAAA,EAC3H,YAA6B,MAA8D,QAAgB;AAA9E,SAAA,OAAA;AAA8D,SAAA,SAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"UpdateEntityTableNameModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/UpdateEntityTableNameModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class UpdateEntityTableNameModificationHandler implements ModificationHandler<UpdateEntityTableNameModificationData> {\n\tconstructor(private readonly data: UpdateEntityTableNameModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\tbuilder.renameView(entity.tableName, this.data.tableName)\n\t\t\treturn\n\t\t}\n\t\tbuilder.renameTable(entity.tableName, this.data.tableName)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(\n\t\t\tupdateEntity(this.data.entityName, ({ entity }) => ({\n\t\t\t\t...entity,\n\t\t\t\ttableName: this.data.tableName,\n\t\t\t})),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Change table name of entity ${this.data.entityName}` }\n\t}\n}\n\nexport interface UpdateEntityTableNameModificationData {\n\tentityName: string\n\ttableName: string\n}\n\nexport const updateEntityTableNameModification = createModificationType({\n\tid: 'updateEntityTableName',\n\thandler: UpdateEntityTableNameModificationHandler,\n})\n\nexport class UpdateEntityTableNameDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.values(updatedSchema.model.entities)\n\t\t\t.filter(\n\t\t\t\tit =>\n\t\t\t\t\toriginalSchema.model.entities[it.name] && originalSchema.model.entities[it.name].tableName !== it.tableName,\n\t\t\t)\n\t\t\t.map(it => updateEntityTableNameModification.createModification({\n\t\t\t\tentityName: it.name,\n\t\t\t\ttableName: it.tableName,\n\t\t\t}))\n\t}\n}\n"],"names":["updateModel","updateEntity","createModificationType"],"mappings":";;;;AAKO,MAAM,yCAA+G;AAAA,EAC3H,YAA6B,MAA8D,QAAgB;AAA9E,SAAA,OAAA;AAA8D,SAAA,SAAA;AAAA,EAAA;AAAA,EAEpF,UAAU,SAAiC;AACjD,UAAM,SAAS,KAAK,OAAO,MAAM,SAAS,KAAK,KAAK,UAAU;AAC9D,QAAI,OAAO,MAAM;AAChB,cAAQ,WAAW,OAAO,WAAW,KAAK,KAAK,SAAS;AACxD;AAAA,IAAA;AAED,YAAQ,YAAY,OAAO,WAAW,KAAK,KAAK,SAAS;AAAA,EAAA;AAAA,EAGnD,mBAAkC;AACjC,WAAAA,kBAAA;AAAA,MACNC,+BAAa,KAAK,KAAK,YAAY,CAAC,EAAE,cAAc;AAAA,QACnD,GAAG;AAAA,QACH,WAAW,KAAK,KAAK;AAAA,MAAA,EACpB;AAAA,IACH;AAAA,EAAA;AAAA,EAGD,WAAW;AACV,WAAO,EAAE,SAAS,+BAA+B,KAAK,KAAK,UAAU,GAAG;AAAA,EAAA;AAE1E;AAOO,MAAM,oCAAoCC,oBAAAA,uBAAuB;AAAA,EACvE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,4BAA8C;AAAA,EAC1D,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,OAAO,cAAc,MAAM,QAAQ,EAC/C;AAAA,MACA,CACC,OAAA,eAAe,MAAM,SAAS,GAAG,IAAI,KAAK,eAAe,MAAM,SAAS,GAAG,IAAI,EAAE,cAAc,GAAG;AAAA,IAEnG,EAAA,IAAI,CAAM,OAAA,kCAAkC,mBAAmB;AAAA,MAC/D,YAAY,GAAG;AAAA,MACf,WAAW,GAAG;AAAA,IAAA,CACd,CAAC;AAAA,EAAA;AAEL;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateEntityTableNameModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/UpdateEntityTableNameModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class UpdateEntityTableNameModificationHandler implements ModificationHandler<UpdateEntityTableNameModificationData> {\n\tconstructor(private readonly data: UpdateEntityTableNameModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\tbuilder.renameView(entity.tableName, this.data.tableName)\n\t\t\treturn\n\t\t}\n\t\tbuilder.renameTable(entity.tableName, this.data.tableName)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(\n\t\t\tupdateEntity(this.data.entityName, ({ entity }) => ({\n\t\t\t\t...entity,\n\t\t\t\ttableName: this.data.tableName,\n\t\t\t})),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Change table name of entity ${this.data.entityName}` }\n\t}\n}\n\nexport interface UpdateEntityTableNameModificationData {\n\tentityName: string\n\ttableName: string\n}\n\nexport const updateEntityTableNameModification = createModificationType({\n\tid: 'updateEntityTableName',\n\thandler: UpdateEntityTableNameModificationHandler,\n})\n\nexport class UpdateEntityTableNameDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.values(updatedSchema.model.entities)\n\t\t\t.filter(\n\t\t\t\tit =>\n\t\t\t\t\toriginalSchema.model.entities[it.name] && originalSchema.model.entities[it.name].tableName !== it.tableName,\n\t\t\t)\n\t\t\t.map(it => updateEntityTableNameModification.createModification({\n\t\t\t\tentityName: it.name,\n\t\t\t\ttableName: it.tableName,\n\t\t\t}))\n\t}\n}\n"],"names":[],"mappings":";;AAKO,MAAM,yCAA+G;AAAA,EAC3H,YAA6B,MAA8D,QAAgB;AAA9E,SAAA,OAAA;AAA8D,SAAA,SAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"UpdateEntityTableNameModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/UpdateEntityTableNameModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class UpdateEntityTableNameModificationHandler implements ModificationHandler<UpdateEntityTableNameModificationData> {\n\tconstructor(private readonly data: UpdateEntityTableNameModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\tbuilder.renameView(entity.tableName, this.data.tableName)\n\t\t\treturn\n\t\t}\n\t\tbuilder.renameTable(entity.tableName, this.data.tableName)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(\n\t\t\tupdateEntity(this.data.entityName, ({ entity }) => ({\n\t\t\t\t...entity,\n\t\t\t\ttableName: this.data.tableName,\n\t\t\t})),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Change table name of entity ${this.data.entityName}` }\n\t}\n}\n\nexport interface UpdateEntityTableNameModificationData {\n\tentityName: string\n\ttableName: string\n}\n\nexport const updateEntityTableNameModification = createModificationType({\n\tid: 'updateEntityTableName',\n\thandler: UpdateEntityTableNameModificationHandler,\n})\n\nexport class UpdateEntityTableNameDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.values(updatedSchema.model.entities)\n\t\t\t.filter(\n\t\t\t\tit =>\n\t\t\t\t\toriginalSchema.model.entities[it.name] && originalSchema.model.entities[it.name].tableName !== it.tableName,\n\t\t\t)\n\t\t\t.map(it => updateEntityTableNameModification.createModification({\n\t\t\t\tentityName: it.name,\n\t\t\t\ttableName: it.tableName,\n\t\t\t}))\n\t}\n}\n"],"names":[],"mappings":";;AAKO,MAAM,yCAA+G;AAAA,EAC3H,YAA6B,MAA8D,QAAgB;AAA9E,SAAA,OAAA;AAA8D,SAAA,SAAA;AAAA,EAAA;AAAA,EAEpF,UAAU,SAAiC;AACjD,UAAM,SAAS,KAAK,OAAO,MAAM,SAAS,KAAK,KAAK,UAAU;AAC9D,QAAI,OAAO,MAAM;AAChB,cAAQ,WAAW,OAAO,WAAW,KAAK,KAAK,SAAS;AACxD;AAAA,IAAA;AAED,YAAQ,YAAY,OAAO,WAAW,KAAK,KAAK,SAAS;AAAA,EAAA;AAAA,EAGnD,mBAAkC;AACjC,WAAA;AAAA,MACN,aAAa,KAAK,KAAK,YAAY,CAAC,EAAE,cAAc;AAAA,QACnD,GAAG;AAAA,QACH,WAAW,KAAK,KAAK;AAAA,MAAA,EACpB;AAAA,IACH;AAAA,EAAA;AAAA,EAGD,WAAW;AACV,WAAO,EAAE,SAAS,+BAA+B,KAAK,KAAK,UAAU,GAAG;AAAA,EAAA;AAE1E;AAOO,MAAM,oCAAoC,uBAAuB;AAAA,EACvE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,4BAA8C;AAAA,EAC1D,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,OAAO,cAAc,MAAM,QAAQ,EAC/C;AAAA,MACA,CACC,OAAA,eAAe,MAAM,SAAS,GAAG,IAAI,KAAK,eAAe,MAAM,SAAS,GAAG,IAAI,EAAE,cAAc,GAAG;AAAA,IAEnG,EAAA,IAAI,CAAM,OAAA,kCAAkC,mBAAmB;AAAA,MAC/D,YAAY,GAAG;AAAA,MACf,WAAW,GAAG;AAAA,IAAA,CACd,CAAC;AAAA,EAAA;AAEL;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateViewModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/UpdateViewModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { createModificationType, ModificationHandler } from '../ModificationHandler'\nimport { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'\n\nexport class UpdateViewModificationHandler implements ModificationHandler<UpdateViewModificationData> {\n\tconstructor(private readonly data: UpdateViewModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tbuilder.createView(\n\t\t\tentity.tableName,\n\t\t\t{\n\t\t\t\treplace: true,\n\t\t\t},\n\t\t\tthis.data.view.sql,\n\t\t)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(\n\t\t\tupdateEntity(this.data.entityName, ({ entity }) => ({\n\t\t\t\t...entity,\n\t\t\t\tview: this.data.view,\n\t\t\t})),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Update SQL definition of a view` }\n\t}\n\n}\n\nexport interface UpdateViewModificationData {\n\tentityName: string\n\tview: Model.View\n}\n\nexport const updateViewModification = createModificationType({\n\tid: 'updateView',\n\thandler: UpdateViewModificationHandler,\n})\n"],"names":["updateModel","updateEntity","createModificationType"],"mappings":";;;;AAKO,MAAM,8BAAyF;AAAA,EACrG,YAA6B,MAAmD,QAAgB;AAAnE,SAAA,OAAA;AAAmD,SAAA,SAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"UpdateViewModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/UpdateViewModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { createModificationType, ModificationHandler } from '../ModificationHandler'\nimport { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'\n\nexport class UpdateViewModificationHandler implements ModificationHandler<UpdateViewModificationData> {\n\tconstructor(private readonly data: UpdateViewModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tbuilder.createView(\n\t\t\tentity.tableName,\n\t\t\t{\n\t\t\t\treplace: true,\n\t\t\t},\n\t\t\tthis.data.view.sql,\n\t\t)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(\n\t\t\tupdateEntity(this.data.entityName, ({ entity }) => ({\n\t\t\t\t...entity,\n\t\t\t\tview: this.data.view,\n\t\t\t})),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Update SQL definition of a view` }\n\t}\n\n}\n\nexport interface UpdateViewModificationData {\n\tentityName: string\n\tview: Model.View\n}\n\nexport const updateViewModification = createModificationType({\n\tid: 'updateView',\n\thandler: UpdateViewModificationHandler,\n})\n"],"names":["updateModel","updateEntity","createModificationType"],"mappings":";;;;AAKO,MAAM,8BAAyF;AAAA,EACrG,YAA6B,MAAmD,QAAgB;AAAnE,SAAA,OAAA;AAAmD,SAAA,SAAA;AAAA,EAAA;AAAA,EAEzE,UAAU,SAAiC;AACjD,UAAM,SAAS,KAAK,OAAO,MAAM,SAAS,KAAK,KAAK,UAAU;AACtD,YAAA;AAAA,MACP,OAAO;AAAA,MACP;AAAA,QACC,SAAS;AAAA,MACV;AAAA,MACA,KAAK,KAAK,KAAK;AAAA,IAChB;AAAA,EAAA;AAAA,EAGM,mBAAkC;AACjC,WAAAA,kBAAA;AAAA,MACNC,+BAAa,KAAK,KAAK,YAAY,CAAC,EAAE,cAAc;AAAA,QACnD,GAAG;AAAA,QACH,MAAM,KAAK,KAAK;AAAA,MAAA,EACf;AAAA,IACH;AAAA,EAAA;AAAA,EAGD,WAAW;AACH,WAAA,EAAE,SAAS,kCAAkC;AAAA,EAAA;AAGtD;AAOO,MAAM,yBAAyBC,oBAAAA,uBAAuB;AAAA,EAC5D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateViewModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/UpdateViewModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { createModificationType, ModificationHandler } from '../ModificationHandler'\nimport { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'\n\nexport class UpdateViewModificationHandler implements ModificationHandler<UpdateViewModificationData> {\n\tconstructor(private readonly data: UpdateViewModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tbuilder.createView(\n\t\t\tentity.tableName,\n\t\t\t{\n\t\t\t\treplace: true,\n\t\t\t},\n\t\t\tthis.data.view.sql,\n\t\t)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(\n\t\t\tupdateEntity(this.data.entityName, ({ entity }) => ({\n\t\t\t\t...entity,\n\t\t\t\tview: this.data.view,\n\t\t\t})),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Update SQL definition of a view` }\n\t}\n\n}\n\nexport interface UpdateViewModificationData {\n\tentityName: string\n\tview: Model.View\n}\n\nexport const updateViewModification = createModificationType({\n\tid: 'updateView',\n\thandler: UpdateViewModificationHandler,\n})\n"],"names":[],"mappings":";;AAKO,MAAM,8BAAyF;AAAA,EACrG,YAA6B,MAAmD,QAAgB;AAAnE,SAAA,OAAA;AAAmD,SAAA,SAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"UpdateViewModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/entities/UpdateViewModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { createModificationType, ModificationHandler } from '../ModificationHandler'\nimport { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'\n\nexport class UpdateViewModificationHandler implements ModificationHandler<UpdateViewModificationData> {\n\tconstructor(private readonly data: UpdateViewModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tbuilder.createView(\n\t\t\tentity.tableName,\n\t\t\t{\n\t\t\t\treplace: true,\n\t\t\t},\n\t\t\tthis.data.view.sql,\n\t\t)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(\n\t\t\tupdateEntity(this.data.entityName, ({ entity }) => ({\n\t\t\t\t...entity,\n\t\t\t\tview: this.data.view,\n\t\t\t})),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Update SQL definition of a view` }\n\t}\n\n}\n\nexport interface UpdateViewModificationData {\n\tentityName: string\n\tview: Model.View\n}\n\nexport const updateViewModification = createModificationType({\n\tid: 'updateView',\n\thandler: UpdateViewModificationHandler,\n})\n"],"names":[],"mappings":";;AAKO,MAAM,8BAAyF;AAAA,EACrG,YAA6B,MAAmD,QAAgB;AAAnE,SAAA,OAAA;AAAmD,SAAA,SAAA;AAAA,EAAA;AAAA,EAEzE,UAAU,SAAiC;AACjD,UAAM,SAAS,KAAK,OAAO,MAAM,SAAS,KAAK,KAAK,UAAU;AACtD,YAAA;AAAA,MACP,OAAO;AAAA,MACP;AAAA,QACC,SAAS;AAAA,MACV;AAAA,MACA,KAAK,KAAK,KAAK;AAAA,IAChB;AAAA,EAAA;AAAA,EAGM,mBAAkC;AACjC,WAAA;AAAA,MACN,aAAa,KAAK,KAAK,YAAY,CAAC,EAAE,cAAc;AAAA,QACnD,GAAG;AAAA,QACH,MAAM,KAAK,KAAK;AAAA,MAAA,EACf;AAAA,IACH;AAAA,EAAA;AAAA,EAGD,WAAW;AACH,WAAA,EAAE,SAAS,kCAAkC;AAAA,EAAA;AAGtD;AAOO,MAAM,yBAAyB,uBAAuB;AAAA,EAC5D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateEnumModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/enums/CreateEnumModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Schema } from '@contember/schema'\nimport { SchemaUpdater, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport { createCheck, getConstraintName } from './enumUtils'\n\nexport class CreateEnumModificationHandler implements ModificationHandler<CreateEnumModificationData> {\n\tconstructor(private readonly data: CreateEnumModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tbuilder.createDomain(this.data.enumName, 'text', {\n\t\t\tcheck: createCheck(this.data.values),\n\t\t\tconstraintName: getConstraintName(this.data.enumName),\n\t\t})\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(({ model }) => ({\n\t\t\t...model,\n\t\t\tenums: {\n\t\t\t\t...model.enums,\n\t\t\t\t[this.data.enumName]: this.data.values,\n\t\t\t},\n\t\t}))\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Add enum ${this.data.enumName}` }\n\t}\n}\n\nexport interface CreateEnumModificationData {\n\tenumName: string\n\tvalues: readonly string[]\n}\n\nexport const createEnumModification = createModificationType({\n\tid: 'createEnum',\n\thandler: CreateEnumModificationHandler,\n})\n\nexport class CreateEnumDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(updatedSchema.model.enums)\n\t\t\t.filter(([name]) => !originalSchema.model.enums[name])\n\t\t\t.map(([enumName, values]) => createEnumModification.createModification({\n\t\t\t\tenumName,\n\t\t\t\tvalues,\n\t\t\t}))\n\t}\n}\n"],"names":["createCheck","getConstraintName","updateModel","createModificationType"],"mappings":";;;;;AAMO,MAAM,8BAAyF;AAAA,EACrG,YAA6B,MAAmD,QAAgB;AAAnE,SAAA,OAAA;AAAmD,SAAA,SAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"CreateEnumModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/enums/CreateEnumModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Schema } from '@contember/schema'\nimport { SchemaUpdater, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport { createCheck, getConstraintName } from './enumUtils'\n\nexport class CreateEnumModificationHandler implements ModificationHandler<CreateEnumModificationData> {\n\tconstructor(private readonly data: CreateEnumModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tbuilder.createDomain(this.data.enumName, 'text', {\n\t\t\tcheck: createCheck(this.data.values),\n\t\t\tconstraintName: getConstraintName(this.data.enumName),\n\t\t})\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(({ model }) => ({\n\t\t\t...model,\n\t\t\tenums: {\n\t\t\t\t...model.enums,\n\t\t\t\t[this.data.enumName]: this.data.values,\n\t\t\t},\n\t\t}))\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Add enum ${this.data.enumName}` }\n\t}\n}\n\nexport interface CreateEnumModificationData {\n\tenumName: string\n\tvalues: readonly string[]\n}\n\nexport const createEnumModification = createModificationType({\n\tid: 'createEnum',\n\thandler: CreateEnumModificationHandler,\n})\n\nexport class CreateEnumDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(updatedSchema.model.enums)\n\t\t\t.filter(([name]) => !originalSchema.model.enums[name])\n\t\t\t.map(([enumName, values]) => createEnumModification.createModification({\n\t\t\t\tenumName,\n\t\t\t\tvalues,\n\t\t\t}))\n\t}\n}\n"],"names":["createCheck","getConstraintName","updateModel","createModificationType"],"mappings":";;;;;AAMO,MAAM,8BAAyF;AAAA,EACrG,YAA6B,MAAmD,QAAgB;AAAnE,SAAA,OAAA;AAAmD,SAAA,SAAA;AAAA,EAAA;AAAA,EAEzE,UAAU,SAAiC;AACjD,YAAQ,aAAa,KAAK,KAAK,UAAU,QAAQ;AAAA,MAChD,OAAOA,UAAA,YAAY,KAAK,KAAK,MAAM;AAAA,MACnC,gBAAgBC,UAAA,kBAAkB,KAAK,KAAK,QAAQ;AAAA,IAAA,CACpD;AAAA,EAAA;AAAA,EAGK,mBAAkC;AACxC,WAAOC,kBAAY,YAAA,CAAC,EAAE,aAAa;AAAA,MAClC,GAAG;AAAA,MACH,OAAO;AAAA,QACN,GAAG,MAAM;AAAA,QACT,CAAC,KAAK,KAAK,QAAQ,GAAG,KAAK,KAAK;AAAA,MAAA;AAAA,IACjC,EACC;AAAA,EAAA;AAAA,EAGH,WAAW;AACV,WAAO,EAAE,SAAS,YAAY,KAAK,KAAK,QAAQ,GAAG;AAAA,EAAA;AAErD;AAOO,MAAM,yBAAyBC,oBAAAA,uBAAuB;AAAA,EAC5D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,iBAAmC;AAAA,EAC/C,WAAW,gBAAwB,eAAuB;AAClD,WAAA,OAAO,QAAQ,cAAc,MAAM,KAAK,EAC7C,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,eAAe,MAAM,MAAM,IAAI,CAAC,EACpD,IAAI,CAAC,CAAC,UAAU,MAAM,MAAM,uBAAuB,mBAAmB;AAAA,MACtE;AAAA,MACA;AAAA,IAAA,CACA,CAAC;AAAA,EAAA;AAEL;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateEnumModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/enums/CreateEnumModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Schema } from '@contember/schema'\nimport { SchemaUpdater, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport { createCheck, getConstraintName } from './enumUtils'\n\nexport class CreateEnumModificationHandler implements ModificationHandler<CreateEnumModificationData> {\n\tconstructor(private readonly data: CreateEnumModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tbuilder.createDomain(this.data.enumName, 'text', {\n\t\t\tcheck: createCheck(this.data.values),\n\t\t\tconstraintName: getConstraintName(this.data.enumName),\n\t\t})\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(({ model }) => ({\n\t\t\t...model,\n\t\t\tenums: {\n\t\t\t\t...model.enums,\n\t\t\t\t[this.data.enumName]: this.data.values,\n\t\t\t},\n\t\t}))\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Add enum ${this.data.enumName}` }\n\t}\n}\n\nexport interface CreateEnumModificationData {\n\tenumName: string\n\tvalues: readonly string[]\n}\n\nexport const createEnumModification = createModificationType({\n\tid: 'createEnum',\n\thandler: CreateEnumModificationHandler,\n})\n\nexport class CreateEnumDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(updatedSchema.model.enums)\n\t\t\t.filter(([name]) => !originalSchema.model.enums[name])\n\t\t\t.map(([enumName, values]) => createEnumModification.createModification({\n\t\t\t\tenumName,\n\t\t\t\tvalues,\n\t\t\t}))\n\t}\n}\n"],"names":[],"mappings":";;;AAMO,MAAM,8BAAyF;AAAA,EACrG,YAA6B,MAAmD,QAAgB;AAAnE,SAAA,OAAA;AAAmD,SAAA,SAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"CreateEnumModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/enums/CreateEnumModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Schema } from '@contember/schema'\nimport { SchemaUpdater, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport { createCheck, getConstraintName } from './enumUtils'\n\nexport class CreateEnumModificationHandler implements ModificationHandler<CreateEnumModificationData> {\n\tconstructor(private readonly data: CreateEnumModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tbuilder.createDomain(this.data.enumName, 'text', {\n\t\t\tcheck: createCheck(this.data.values),\n\t\t\tconstraintName: getConstraintName(this.data.enumName),\n\t\t})\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(({ model }) => ({\n\t\t\t...model,\n\t\t\tenums: {\n\t\t\t\t...model.enums,\n\t\t\t\t[this.data.enumName]: this.data.values,\n\t\t\t},\n\t\t}))\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Add enum ${this.data.enumName}` }\n\t}\n}\n\nexport interface CreateEnumModificationData {\n\tenumName: string\n\tvalues: readonly string[]\n}\n\nexport const createEnumModification = createModificationType({\n\tid: 'createEnum',\n\thandler: CreateEnumModificationHandler,\n})\n\nexport class CreateEnumDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(updatedSchema.model.enums)\n\t\t\t.filter(([name]) => !originalSchema.model.enums[name])\n\t\t\t.map(([enumName, values]) => createEnumModification.createModification({\n\t\t\t\tenumName,\n\t\t\t\tvalues,\n\t\t\t}))\n\t}\n}\n"],"names":[],"mappings":";;;AAMO,MAAM,8BAAyF;AAAA,EACrG,YAA6B,MAAmD,QAAgB;AAAnE,SAAA,OAAA;AAAmD,SAAA,SAAA;AAAA,EAAA;AAAA,EAEzE,UAAU,SAAiC;AACjD,YAAQ,aAAa,KAAK,KAAK,UAAU,QAAQ;AAAA,MAChD,OAAO,YAAY,KAAK,KAAK,MAAM;AAAA,MACnC,gBAAgB,kBAAkB,KAAK,KAAK,QAAQ;AAAA,IAAA,CACpD;AAAA,EAAA;AAAA,EAGK,mBAAkC;AACxC,WAAO,YAAY,CAAC,EAAE,aAAa;AAAA,MAClC,GAAG;AAAA,MACH,OAAO;AAAA,QACN,GAAG,MAAM;AAAA,QACT,CAAC,KAAK,KAAK,QAAQ,GAAG,KAAK,KAAK;AAAA,MAAA;AAAA,IACjC,EACC;AAAA,EAAA;AAAA,EAGH,WAAW;AACV,WAAO,EAAE,SAAS,YAAY,KAAK,KAAK,QAAQ,GAAG;AAAA,EAAA;AAErD;AAOO,MAAM,yBAAyB,uBAAuB;AAAA,EAC5D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,iBAAmC;AAAA,EAC/C,WAAW,gBAAwB,eAAuB;AAClD,WAAA,OAAO,QAAQ,cAAc,MAAM,KAAK,EAC7C,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,eAAe,MAAM,MAAM,IAAI,CAAC,EACpD,IAAI,CAAC,CAAC,UAAU,MAAM,MAAM,uBAAuB,mBAAmB;AAAA,MACtE;AAAA,MACA;AAAA,IAAA,CACA,CAAC;AAAA,EAAA;AAEL;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoveEnumModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/enums/RemoveEnumModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Schema } from '@contember/schema'\nimport { SchemaUpdater, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class RemoveEnumModificationHandler implements ModificationHandler<RemoveEnumModificationData> {\n\tconstructor(private readonly data: RemoveEnumModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tbuilder.dropDomain(this.data.enumName)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(({ model }) => {\n\t\t\tconst { [this.data.enumName]: removedEnum, ...enums } = model.enums\n\t\t\treturn {\n\t\t\t\t...model,\n\t\t\t\tenums,\n\t\t\t}\n\t\t})\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Remove ${this.data.enumName}` }\n\t}\n}\n\nexport interface RemoveEnumModificationData {\n\tenumName: string\n}\n\nexport const removeEnumModification = createModificationType({\n\tid: 'removeEnum',\n\thandler: RemoveEnumModificationHandler,\n})\n\nexport class RemoveEnumDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(originalSchema.model.enums)\n\t\t\t.filter(([name]) => !updatedSchema.model.enums[name])\n\t\t\t.map(([enumName, values]) => removeEnumModification.createModification({ enumName }))\n\t}\n}\n"],"names":["updateModel","createModificationType"],"mappings":";;;;AAKO,MAAM,8BAAyF;AAAA,EACrG,YAA6B,MAAmD,QAAgB;AAAnE,SAAA,OAAA;AAAmD,SAAA,SAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"RemoveEnumModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/enums/RemoveEnumModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Schema } from '@contember/schema'\nimport { SchemaUpdater, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class RemoveEnumModificationHandler implements ModificationHandler<RemoveEnumModificationData> {\n\tconstructor(private readonly data: RemoveEnumModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tbuilder.dropDomain(this.data.enumName)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(({ model }) => {\n\t\t\tconst { [this.data.enumName]: removedEnum, ...enums } = model.enums\n\t\t\treturn {\n\t\t\t\t...model,\n\t\t\t\tenums,\n\t\t\t}\n\t\t})\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Remove ${this.data.enumName}` }\n\t}\n}\n\nexport interface RemoveEnumModificationData {\n\tenumName: string\n}\n\nexport const removeEnumModification = createModificationType({\n\tid: 'removeEnum',\n\thandler: RemoveEnumModificationHandler,\n})\n\nexport class RemoveEnumDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(originalSchema.model.enums)\n\t\t\t.filter(([name]) => !updatedSchema.model.enums[name])\n\t\t\t.map(([enumName, values]) => removeEnumModification.createModification({ enumName }))\n\t}\n}\n"],"names":["updateModel","createModificationType"],"mappings":";;;;AAKO,MAAM,8BAAyF;AAAA,EACrG,YAA6B,MAAmD,QAAgB;AAAnE,SAAA,OAAA;AAAmD,SAAA,SAAA;AAAA,EAAA;AAAA,EAEzE,UAAU,SAAiC;AACzC,YAAA,WAAW,KAAK,KAAK,QAAQ;AAAA,EAAA;AAAA,EAG/B,mBAAkC;AACxC,WAAOA,kBAAY,YAAA,CAAC,EAAE,YAAY;AAC3B,YAAA,EAAE,CAAC,KAAK,KAAK,QAAQ,GAAG,aAAa,GAAG,UAAU,MAAM;AACvD,aAAA;AAAA,QACN,GAAG;AAAA,QACH;AAAA,MACD;AAAA,IAAA,CACA;AAAA,EAAA;AAAA,EAGF,WAAW;AACV,WAAO,EAAE,SAAS,UAAU,KAAK,KAAK,QAAQ,GAAG;AAAA,EAAA;AAEnD;AAMO,MAAM,yBAAyBC,oBAAAA,uBAAuB;AAAA,EAC5D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,iBAAmC;AAAA,EAC/C,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,QAAQ,eAAe,MAAM,KAAK,EAC9C,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,cAAc,MAAM,MAAM,IAAI,CAAC,EACnD,IAAI,CAAC,CAAC,UAAU,MAAM,MAAM,uBAAuB,mBAAmB,EAAE,SAAU,CAAA,CAAC;AAAA,EAAA;AAEvF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoveEnumModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/enums/RemoveEnumModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Schema } from '@contember/schema'\nimport { SchemaUpdater, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class RemoveEnumModificationHandler implements ModificationHandler<RemoveEnumModificationData> {\n\tconstructor(private readonly data: RemoveEnumModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tbuilder.dropDomain(this.data.enumName)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(({ model }) => {\n\t\t\tconst { [this.data.enumName]: removedEnum, ...enums } = model.enums\n\t\t\treturn {\n\t\t\t\t...model,\n\t\t\t\tenums,\n\t\t\t}\n\t\t})\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Remove ${this.data.enumName}` }\n\t}\n}\n\nexport interface RemoveEnumModificationData {\n\tenumName: string\n}\n\nexport const removeEnumModification = createModificationType({\n\tid: 'removeEnum',\n\thandler: RemoveEnumModificationHandler,\n})\n\nexport class RemoveEnumDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(originalSchema.model.enums)\n\t\t\t.filter(([name]) => !updatedSchema.model.enums[name])\n\t\t\t.map(([enumName, values]) => removeEnumModification.createModification({ enumName }))\n\t}\n}\n"],"names":[],"mappings":";;AAKO,MAAM,8BAAyF;AAAA,EACrG,YAA6B,MAAmD,QAAgB;AAAnE,SAAA,OAAA;AAAmD,SAAA,SAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"RemoveEnumModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/enums/RemoveEnumModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Schema } from '@contember/schema'\nimport { SchemaUpdater, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class RemoveEnumModificationHandler implements ModificationHandler<RemoveEnumModificationData> {\n\tconstructor(private readonly data: RemoveEnumModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tbuilder.dropDomain(this.data.enumName)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(({ model }) => {\n\t\t\tconst { [this.data.enumName]: removedEnum, ...enums } = model.enums\n\t\t\treturn {\n\t\t\t\t...model,\n\t\t\t\tenums,\n\t\t\t}\n\t\t})\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Remove ${this.data.enumName}` }\n\t}\n}\n\nexport interface RemoveEnumModificationData {\n\tenumName: string\n}\n\nexport const removeEnumModification = createModificationType({\n\tid: 'removeEnum',\n\thandler: RemoveEnumModificationHandler,\n})\n\nexport class RemoveEnumDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(originalSchema.model.enums)\n\t\t\t.filter(([name]) => !updatedSchema.model.enums[name])\n\t\t\t.map(([enumName, values]) => removeEnumModification.createModification({ enumName }))\n\t}\n}\n"],"names":[],"mappings":";;AAKO,MAAM,8BAAyF;AAAA,EACrG,YAA6B,MAAmD,QAAgB;AAAnE,SAAA,OAAA;AAAmD,SAAA,SAAA;AAAA,EAAA;AAAA,EAEzE,UAAU,SAAiC;AACzC,YAAA,WAAW,KAAK,KAAK,QAAQ;AAAA,EAAA;AAAA,EAG/B,mBAAkC;AACxC,WAAO,YAAY,CAAC,EAAE,YAAY;AAC3B,YAAA,EAAE,CAAC,KAAK,KAAK,QAAQ,GAAG,aAAa,GAAG,UAAU,MAAM;AACvD,aAAA;AAAA,QACN,GAAG;AAAA,QACH;AAAA,MACD;AAAA,IAAA,CACA;AAAA,EAAA;AAAA,EAGF,WAAW;AACV,WAAO,EAAE,SAAS,UAAU,KAAK,KAAK,QAAQ,GAAG;AAAA,EAAA;AAEnD;AAMO,MAAM,yBAAyB,uBAAuB;AAAA,EAC5D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,iBAAmC;AAAA,EAC/C,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,QAAQ,eAAe,MAAM,KAAK,EAC9C,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,cAAc,MAAM,MAAM,IAAI,CAAC,EACnD,IAAI,CAAC,CAAC,UAAU,MAAM,MAAM,uBAAuB,mBAAmB,EAAE,SAAU,CAAA,CAAC;AAAA,EAAA;AAEvF;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateEnumModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/enums/UpdateEnumModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Schema } from '@contember/schema'\nimport { SchemaUpdater, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport deepEqual from 'fast-deep-equal'\nimport { createCheck, getConstraintName } from './enumUtils'\n\nexport class UpdateEnumModificationHandler implements ModificationHandler<UpdateEnumModificationData> {\n\tconstructor(private readonly data: UpdateEnumModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tbuilder.sql(`\n\t\t\tALTER DOMAIN \"${this.data.enumName}\"\n\t\t\tDROP CONSTRAINT ${getConstraintName(this.data.enumName)}`)\n\t\tbuilder.sql(`\n\t\t\tALTER DOMAIN \"${this.data.enumName}\"\n\t\t\tADD CONSTRAINT ${getConstraintName(this.data.enumName)} CHECK (${createCheck(this.data.values)})`)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(({ model }) => ({\n\t\t\t...model,\n\t\t\tenums: {\n\t\t\t\t...model.enums,\n\t\t\t\t[this.data.enumName]: this.data.values,\n\t\t\t},\n\t\t}))\n\t}\n\n\tdescribe() {\n\t\tconst currentValues = this.schema.model.enums[this.data.enumName]\n\t\tconst missingValues = currentValues.filter(it => !this.data.values.includes(it))\n\t\tconst failureWarning =\n\t\t\tmissingValues.length > 0\n\t\t\t\t? `Removing values (${missingValues.join(', ')}) from enum, this may fail in runtime`\n\t\t\t\t: undefined\n\t\treturn { message: `Update enum ${this.data.enumName}`, failureWarning }\n\t}\n}\n\nexport interface UpdateEnumModificationData {\n\tenumName: string\n\tvalues: readonly string[]\n}\n\nexport const updateEnumModification = createModificationType({\n\tid: 'updateEnum',\n\thandler: UpdateEnumModificationHandler,\n})\n\nexport class UpdateEnumDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(updatedSchema.model.enums)\n\t\t\t.filter(\n\t\t\t\t([name]) =>\n\t\t\t\t\toriginalSchema.model.enums[name] &&\n\t\t\t\t\t!deepEqual(updatedSchema.model.enums[name], originalSchema.model.enums[name]),\n\t\t\t)\n\t\t\t.map(([enumName, values]) => updateEnumModification.createModification({ enumName, values }))\n\t}\n}\n"],"names":["getConstraintName","createCheck","updateModel","createModificationType"],"mappings":";;;;;;AAOO,MAAM,8BAAyF;AAAA,EACrG,YAA6B,MAAmD,QAAgB;AAAnE,SAAA,OAAA;AAAmD,SAAA,SAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"UpdateEnumModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/enums/UpdateEnumModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Schema } from '@contember/schema'\nimport { SchemaUpdater, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport deepEqual from 'fast-deep-equal'\nimport { createCheck, getConstraintName } from './enumUtils'\n\nexport class UpdateEnumModificationHandler implements ModificationHandler<UpdateEnumModificationData> {\n\tconstructor(private readonly data: UpdateEnumModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tbuilder.sql(`\n\t\t\tALTER DOMAIN \"${this.data.enumName}\"\n\t\t\tDROP CONSTRAINT ${getConstraintName(this.data.enumName)}`)\n\t\tbuilder.sql(`\n\t\t\tALTER DOMAIN \"${this.data.enumName}\"\n\t\t\tADD CONSTRAINT ${getConstraintName(this.data.enumName)} CHECK (${createCheck(this.data.values)})`)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(({ model }) => ({\n\t\t\t...model,\n\t\t\tenums: {\n\t\t\t\t...model.enums,\n\t\t\t\t[this.data.enumName]: this.data.values,\n\t\t\t},\n\t\t}))\n\t}\n\n\tdescribe() {\n\t\tconst currentValues = this.schema.model.enums[this.data.enumName]\n\t\tconst missingValues = currentValues.filter(it => !this.data.values.includes(it))\n\t\tconst failureWarning =\n\t\t\tmissingValues.length > 0\n\t\t\t\t? `Removing values (${missingValues.join(', ')}) from enum, this may fail in runtime`\n\t\t\t\t: undefined\n\t\treturn { message: `Update enum ${this.data.enumName}`, failureWarning }\n\t}\n}\n\nexport interface UpdateEnumModificationData {\n\tenumName: string\n\tvalues: readonly string[]\n}\n\nexport const updateEnumModification = createModificationType({\n\tid: 'updateEnum',\n\thandler: UpdateEnumModificationHandler,\n})\n\nexport class UpdateEnumDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(updatedSchema.model.enums)\n\t\t\t.filter(\n\t\t\t\t([name]) =>\n\t\t\t\t\toriginalSchema.model.enums[name] &&\n\t\t\t\t\t!deepEqual(updatedSchema.model.enums[name], originalSchema.model.enums[name]),\n\t\t\t)\n\t\t\t.map(([enumName, values]) => updateEnumModification.createModification({ enumName, values }))\n\t}\n}\n"],"names":["getConstraintName","createCheck","updateModel","createModificationType"],"mappings":";;;;;;AAOO,MAAM,8BAAyF;AAAA,EACrG,YAA6B,MAAmD,QAAgB;AAAnE,SAAA,OAAA;AAAmD,SAAA,SAAA;AAAA,EAAA;AAAA,EAEzE,UAAU,SAAiC;AACjD,YAAQ,IAAI;AAAA,mBACK,KAAK,KAAK,QAAQ;AAAA,qBAChBA,UAAkB,kBAAA,KAAK,KAAK,QAAQ,CAAC,EAAE;AAC1D,YAAQ,IAAI;AAAA,mBACK,KAAK,KAAK,QAAQ;AAAA,oBACjBA,4BAAkB,KAAK,KAAK,QAAQ,CAAC,WAAWC,UAAA,YAAY,KAAK,KAAK,MAAM,CAAC,GAAG;AAAA,EAAA;AAAA,EAG5F,mBAAkC;AACxC,WAAOC,kBAAY,YAAA,CAAC,EAAE,aAAa;AAAA,MAClC,GAAG;AAAA,MACH,OAAO;AAAA,QACN,GAAG,MAAM;AAAA,QACT,CAAC,KAAK,KAAK,QAAQ,GAAG,KAAK,KAAK;AAAA,MAAA;AAAA,IACjC,EACC;AAAA,EAAA;AAAA,EAGH,WAAW;AACV,UAAM,gBAAgB,KAAK,OAAO,MAAM,MAAM,KAAK,KAAK,QAAQ;AAC1D,UAAA,gBAAgB,cAAc,OAAO,CAAM,OAAA,CAAC,KAAK,KAAK,OAAO,SAAS,EAAE,CAAC;AACzE,UAAA,iBACL,cAAc,SAAS,IACpB,oBAAoB,cAAc,KAAK,IAAI,CAAC,0CAC5C;AACJ,WAAO,EAAE,SAAS,eAAe,KAAK,KAAK,QAAQ,IAAI,eAAe;AAAA,EAAA;AAExE;AAOO,MAAM,yBAAyBC,oBAAAA,uBAAuB;AAAA,EAC5D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,iBAAmC;AAAA,EAC/C,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,QAAQ,cAAc,MAAM,KAAK,EAC7C;AAAA,MACA,CAAC,CAAC,IAAI,MACL,eAAe,MAAM,MAAM,IAAI,KAC/B,CAAC,UAAU,cAAc,MAAM,MAAM,IAAI,GAAG,eAAe,MAAM,MAAM,IAAI,CAAC;AAAA,IAE7E,EAAA,IAAI,CAAC,CAAC,UAAU,MAAM,MAAM,uBAAuB,mBAAmB,EAAE,UAAU,OAAA,CAAQ,CAAC;AAAA,EAAA;AAE/F;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateEnumModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/enums/UpdateEnumModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Schema } from '@contember/schema'\nimport { SchemaUpdater, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport deepEqual from 'fast-deep-equal'\nimport { createCheck, getConstraintName } from './enumUtils'\n\nexport class UpdateEnumModificationHandler implements ModificationHandler<UpdateEnumModificationData> {\n\tconstructor(private readonly data: UpdateEnumModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tbuilder.sql(`\n\t\t\tALTER DOMAIN \"${this.data.enumName}\"\n\t\t\tDROP CONSTRAINT ${getConstraintName(this.data.enumName)}`)\n\t\tbuilder.sql(`\n\t\t\tALTER DOMAIN \"${this.data.enumName}\"\n\t\t\tADD CONSTRAINT ${getConstraintName(this.data.enumName)} CHECK (${createCheck(this.data.values)})`)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(({ model }) => ({\n\t\t\t...model,\n\t\t\tenums: {\n\t\t\t\t...model.enums,\n\t\t\t\t[this.data.enumName]: this.data.values,\n\t\t\t},\n\t\t}))\n\t}\n\n\tdescribe() {\n\t\tconst currentValues = this.schema.model.enums[this.data.enumName]\n\t\tconst missingValues = currentValues.filter(it => !this.data.values.includes(it))\n\t\tconst failureWarning =\n\t\t\tmissingValues.length > 0\n\t\t\t\t? `Removing values (${missingValues.join(', ')}) from enum, this may fail in runtime`\n\t\t\t\t: undefined\n\t\treturn { message: `Update enum ${this.data.enumName}`, failureWarning }\n\t}\n}\n\nexport interface UpdateEnumModificationData {\n\tenumName: string\n\tvalues: readonly string[]\n}\n\nexport const updateEnumModification = createModificationType({\n\tid: 'updateEnum',\n\thandler: UpdateEnumModificationHandler,\n})\n\nexport class UpdateEnumDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(updatedSchema.model.enums)\n\t\t\t.filter(\n\t\t\t\t([name]) =>\n\t\t\t\t\toriginalSchema.model.enums[name] &&\n\t\t\t\t\t!deepEqual(updatedSchema.model.enums[name], originalSchema.model.enums[name]),\n\t\t\t)\n\t\t\t.map(([enumName, values]) => updateEnumModification.createModification({ enumName, values }))\n\t}\n}\n"],"names":[],"mappings":";;;;AAOO,MAAM,8BAAyF;AAAA,EACrG,YAA6B,MAAmD,QAAgB;AAAnE,SAAA,OAAA;AAAmD,SAAA,SAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"UpdateEnumModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/enums/UpdateEnumModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Schema } from '@contember/schema'\nimport { SchemaUpdater, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport deepEqual from 'fast-deep-equal'\nimport { createCheck, getConstraintName } from './enumUtils'\n\nexport class UpdateEnumModificationHandler implements ModificationHandler<UpdateEnumModificationData> {\n\tconstructor(private readonly data: UpdateEnumModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tbuilder.sql(`\n\t\t\tALTER DOMAIN \"${this.data.enumName}\"\n\t\t\tDROP CONSTRAINT ${getConstraintName(this.data.enumName)}`)\n\t\tbuilder.sql(`\n\t\t\tALTER DOMAIN \"${this.data.enumName}\"\n\t\t\tADD CONSTRAINT ${getConstraintName(this.data.enumName)} CHECK (${createCheck(this.data.values)})`)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(({ model }) => ({\n\t\t\t...model,\n\t\t\tenums: {\n\t\t\t\t...model.enums,\n\t\t\t\t[this.data.enumName]: this.data.values,\n\t\t\t},\n\t\t}))\n\t}\n\n\tdescribe() {\n\t\tconst currentValues = this.schema.model.enums[this.data.enumName]\n\t\tconst missingValues = currentValues.filter(it => !this.data.values.includes(it))\n\t\tconst failureWarning =\n\t\t\tmissingValues.length > 0\n\t\t\t\t? `Removing values (${missingValues.join(', ')}) from enum, this may fail in runtime`\n\t\t\t\t: undefined\n\t\treturn { message: `Update enum ${this.data.enumName}`, failureWarning }\n\t}\n}\n\nexport interface UpdateEnumModificationData {\n\tenumName: string\n\tvalues: readonly string[]\n}\n\nexport const updateEnumModification = createModificationType({\n\tid: 'updateEnum',\n\thandler: UpdateEnumModificationHandler,\n})\n\nexport class UpdateEnumDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(updatedSchema.model.enums)\n\t\t\t.filter(\n\t\t\t\t([name]) =>\n\t\t\t\t\toriginalSchema.model.enums[name] &&\n\t\t\t\t\t!deepEqual(updatedSchema.model.enums[name], originalSchema.model.enums[name]),\n\t\t\t)\n\t\t\t.map(([enumName, values]) => updateEnumModification.createModification({ enumName, values }))\n\t}\n}\n"],"names":[],"mappings":";;;;AAOO,MAAM,8BAAyF;AAAA,EACrG,YAA6B,MAAmD,QAAgB;AAAnE,SAAA,OAAA;AAAmD,SAAA,SAAA;AAAA,EAAA;AAAA,EAEzE,UAAU,SAAiC;AACjD,YAAQ,IAAI;AAAA,mBACK,KAAK,KAAK,QAAQ;AAAA,qBAChB,kBAAkB,KAAK,KAAK,QAAQ,CAAC,EAAE;AAC1D,YAAQ,IAAI;AAAA,mBACK,KAAK,KAAK,QAAQ;AAAA,oBACjB,kBAAkB,KAAK,KAAK,QAAQ,CAAC,WAAW,YAAY,KAAK,KAAK,MAAM,CAAC,GAAG;AAAA,EAAA;AAAA,EAG5F,mBAAkC;AACxC,WAAO,YAAY,CAAC,EAAE,aAAa;AAAA,MAClC,GAAG;AAAA,MACH,OAAO;AAAA,QACN,GAAG,MAAM;AAAA,QACT,CAAC,KAAK,KAAK,QAAQ,GAAG,KAAK,KAAK;AAAA,MAAA;AAAA,IACjC,EACC;AAAA,EAAA;AAAA,EAGH,WAAW;AACV,UAAM,gBAAgB,KAAK,OAAO,MAAM,MAAM,KAAK,KAAK,QAAQ;AAC1D,UAAA,gBAAgB,cAAc,OAAO,CAAM,OAAA,CAAC,KAAK,KAAK,OAAO,SAAS,EAAE,CAAC;AACzE,UAAA,iBACL,cAAc,SAAS,IACpB,oBAAoB,cAAc,KAAK,IAAI,CAAC,0CAC5C;AACJ,WAAO,EAAE,SAAS,eAAe,KAAK,KAAK,QAAQ,IAAI,eAAe;AAAA,EAAA;AAExE;AAOO,MAAM,yBAAyB,uBAAuB;AAAA,EAC5D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,iBAAmC;AAAA,EAC/C,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,QAAQ,cAAc,MAAM,KAAK,EAC7C;AAAA,MACA,CAAC,CAAC,IAAI,MACL,eAAe,MAAM,MAAM,IAAI,KAC/B,CAAC,UAAU,cAAc,MAAM,MAAM,IAAI,GAAG,eAAe,MAAM,MAAM,IAAI,CAAC;AAAA,IAE7E,EAAA,IAAI,CAAC,CAAC,UAAU,MAAM,MAAM,uBAAuB,mBAAmB,EAAE,UAAU,OAAA,CAAQ,CAAC;AAAA,EAAA;AAE/F;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enumUtils.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/enums/enumUtils.ts"],"sourcesContent":["import { escapeSqlString } from '../../utils/escapeSqlString'\n\nexport const createCheck = (values: readonly string[]) => {\n\tconst joinedValues = values.map(it => `'${escapeSqlString(it)}'`).join(',')\n\treturn `VALUE IN(${joinedValues})`\n}\n\nexport const getConstraintName = (enumName: string) => `${enumName}_check`.toLowerCase()\n"],"names":["escapeSqlString"],"mappings":";;;AAEa,MAAA,cAAc,CAAC,WAA8B;AACnD,QAAA,eAAe,OAAO,IAAI,CAAM,OAAA,IAAIA,
|
|
1
|
+
{"version":3,"file":"enumUtils.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/enums/enumUtils.ts"],"sourcesContent":["import { escapeSqlString } from '../../utils/escapeSqlString'\n\nexport const createCheck = (values: readonly string[]) => {\n\tconst joinedValues = values.map(it => `'${escapeSqlString(it)}'`).join(',')\n\treturn `VALUE IN(${joinedValues})`\n}\n\nexport const getConstraintName = (enumName: string) => `${enumName}_check`.toLowerCase()\n"],"names":["escapeSqlString"],"mappings":";;;AAEa,MAAA,cAAc,CAAC,WAA8B;AACnD,QAAA,eAAe,OAAO,IAAI,CAAM,OAAA,IAAIA,gBAAgB,gBAAA,EAAE,CAAC,GAAG,EAAE,KAAK,GAAG;AAC1E,SAAO,YAAY,YAAY;AAChC;AAEO,MAAM,oBAAoB,CAAC,aAAqB,GAAG,QAAQ,SAAS,YAAY;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoveFieldModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/fields/RemoveFieldModification.ts"],"sourcesContent":["import { acceptFieldVisitor, isInverseRelation, isRelation } from '@contember/schema-utils'\nimport { MigrationBuilder } from '@contember/database-migrations'\nimport { Schema } from '@contember/schema'\nimport { removeField, SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler, ModificationHandlerOptions } from '../ModificationHandler'\nimport { isDefined } from '../../utils/isDefined'\n\nexport class RemoveFieldModificationHandler implements ModificationHandler<RemoveFieldModificationData> {\n\n\tconstructor(\n\t\tprivate readonly data: RemoveFieldModificationData,\n\t\tprivate readonly schema: Schema,\n\t\tprivate readonly options: ModificationHandlerOptions,\n\t) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\t\tacceptFieldVisitor(this.schema.model, this.data.entityName, this.data.fieldName, {\n\t\t\tvisitColumn: ({ entity, column }) => {\n\t\t\t\tbuilder.dropColumn(entity.tableName, column.columnName)\n\t\t\t},\n\t\t\tvisitManyHasOne: ({ entity, relation }) => {\n\t\t\t\tbuilder.dropColumn(entity.tableName, relation.joiningColumn.columnName)\n\t\t\t},\n\t\t\tvisitOneHasMany: () => {},\n\t\t\tvisitOneHasOneOwning: ({ entity, relation }) => {\n\t\t\t\tbuilder.dropColumn(entity.tableName, relation.joiningColumn.columnName)\n\t\t\t},\n\t\t\tvisitOneHasOneInverse: () => {},\n\t\t\tvisitManyHasManyOwning: ({ relation }) => {\n\t\t\t\tbuilder.dropTable(relation.joiningTable.tableName)\n\t\t\t},\n\t\t\tvisitManyHasManyInverse: () => {},\n\t\t})\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn removeField(this.data.entityName, this.data.fieldName, this.options.formatVersion)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Remove field ${this.data.entityName}.${this.data.fieldName}`, isDestructive: true }\n\t}\n\n}\n\nexport interface RemoveFieldModificationData {\n\tentityName: string\n\tfieldName: string\n}\n\nexport const removeFieldModification = createModificationType({\n\tid: 'removeField',\n\thandler: RemoveFieldModificationHandler,\n})\n\nexport class RemoveFieldDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.values(updatedSchema.model.entities)\n\t\t\t.filter(({ name }) => originalSchema.model.entities[name])\n\t\t\t.flatMap(entity => {\n\t\t\t\tconst originalEntity = originalSchema.model.entities[entity.name]\n\n\t\t\t\treturn Object.values(originalEntity.fields)\n\t\t\t\t\t.filter(field => !entity.fields[field.name])\n\t\t\t\t\t.map(field => {\n\t\t\t\t\t\tif (isRelation(field) && isInverseRelation(field)) {\n\t\t\t\t\t\t\tconst target = updatedSchema.model.entities[field.target]\n\t\t\t\t\t\t\tif (!target || !target.fields[field.ownedBy]) {\n\t\t\t\t\t\t\t\treturn undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn removeFieldModification.createModification({\n\t\t\t\t\t\t\tentityName: entity.name,\n\t\t\t\t\t\t\tfieldName: field.name,\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t\t.filter(isDefined)\n\t\t\t})\n\t}\n}\n"],"names":["acceptFieldVisitor","entity","removeField","createModificationType","isRelation","isInverseRelation","isDefined"],"mappings":";;;;;;AAOO,MAAM,+BAA2F;AAAA,EAEvG,YACkB,MACA,QACA,SAChB;AAHgB,SAAA,OAAA;AACA,SAAA,SAAA;AACA,SAAA,UAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"RemoveFieldModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/fields/RemoveFieldModification.ts"],"sourcesContent":["import { acceptFieldVisitor, isInverseRelation, isRelation } from '@contember/schema-utils'\nimport { MigrationBuilder } from '@contember/database-migrations'\nimport { Schema } from '@contember/schema'\nimport { removeField, SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler, ModificationHandlerOptions } from '../ModificationHandler'\nimport { isDefined } from '../../utils/isDefined'\n\nexport class RemoveFieldModificationHandler implements ModificationHandler<RemoveFieldModificationData> {\n\n\tconstructor(\n\t\tprivate readonly data: RemoveFieldModificationData,\n\t\tprivate readonly schema: Schema,\n\t\tprivate readonly options: ModificationHandlerOptions,\n\t) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\t\tacceptFieldVisitor(this.schema.model, this.data.entityName, this.data.fieldName, {\n\t\t\tvisitColumn: ({ entity, column }) => {\n\t\t\t\tbuilder.dropColumn(entity.tableName, column.columnName)\n\t\t\t},\n\t\t\tvisitManyHasOne: ({ entity, relation }) => {\n\t\t\t\tbuilder.dropColumn(entity.tableName, relation.joiningColumn.columnName)\n\t\t\t},\n\t\t\tvisitOneHasMany: () => {},\n\t\t\tvisitOneHasOneOwning: ({ entity, relation }) => {\n\t\t\t\tbuilder.dropColumn(entity.tableName, relation.joiningColumn.columnName)\n\t\t\t},\n\t\t\tvisitOneHasOneInverse: () => {},\n\t\t\tvisitManyHasManyOwning: ({ relation }) => {\n\t\t\t\tbuilder.dropTable(relation.joiningTable.tableName)\n\t\t\t},\n\t\t\tvisitManyHasManyInverse: () => {},\n\t\t})\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn removeField(this.data.entityName, this.data.fieldName, this.options.formatVersion)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Remove field ${this.data.entityName}.${this.data.fieldName}`, isDestructive: true }\n\t}\n\n}\n\nexport interface RemoveFieldModificationData {\n\tentityName: string\n\tfieldName: string\n}\n\nexport const removeFieldModification = createModificationType({\n\tid: 'removeField',\n\thandler: RemoveFieldModificationHandler,\n})\n\nexport class RemoveFieldDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.values(updatedSchema.model.entities)\n\t\t\t.filter(({ name }) => originalSchema.model.entities[name])\n\t\t\t.flatMap(entity => {\n\t\t\t\tconst originalEntity = originalSchema.model.entities[entity.name]\n\n\t\t\t\treturn Object.values(originalEntity.fields)\n\t\t\t\t\t.filter(field => !entity.fields[field.name])\n\t\t\t\t\t.map(field => {\n\t\t\t\t\t\tif (isRelation(field) && isInverseRelation(field)) {\n\t\t\t\t\t\t\tconst target = updatedSchema.model.entities[field.target]\n\t\t\t\t\t\t\tif (!target || !target.fields[field.ownedBy]) {\n\t\t\t\t\t\t\t\treturn undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn removeFieldModification.createModification({\n\t\t\t\t\t\t\tentityName: entity.name,\n\t\t\t\t\t\t\tfieldName: field.name,\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t\t.filter(isDefined)\n\t\t\t})\n\t}\n}\n"],"names":["acceptFieldVisitor","entity","removeField","createModificationType","isRelation","isInverseRelation","isDefined"],"mappings":";;;;;;AAOO,MAAM,+BAA2F;AAAA,EAEvG,YACkB,MACA,QACA,SAChB;AAHgB,SAAA,OAAA;AACA,SAAA,SAAA;AACA,SAAA,UAAA;AAAA,EAAA;AAAA,EAGX,UAAU,SAAiC;AACjD,UAAM,SAAS,KAAK,OAAO,MAAM,SAAS,KAAK,KAAK,UAAU;AAC9D,QAAI,OAAO,MAAM;AAChB;AAAA,IAAA;AAEkBA,mCAAA,KAAK,OAAO,OAAO,KAAK,KAAK,YAAY,KAAK,KAAK,WAAW;AAAA,MAChF,aAAa,CAAC,EAAE,QAAAC,SAAQ,aAAa;AACpC,gBAAQ,WAAWA,QAAO,WAAW,OAAO,UAAU;AAAA,MACvD;AAAA,MACA,iBAAiB,CAAC,EAAE,QAAAA,SAAQ,eAAe;AAC1C,gBAAQ,WAAWA,QAAO,WAAW,SAAS,cAAc,UAAU;AAAA,MACvE;AAAA,MACA,iBAAiB,MAAM;AAAA,MAAC;AAAA,MACxB,sBAAsB,CAAC,EAAE,QAAAA,SAAQ,eAAe;AAC/C,gBAAQ,WAAWA,QAAO,WAAW,SAAS,cAAc,UAAU;AAAA,MACvE;AAAA,MACA,uBAAuB,MAAM;AAAA,MAAC;AAAA,MAC9B,wBAAwB,CAAC,EAAE,eAAe;AACjC,gBAAA,UAAU,SAAS,aAAa,SAAS;AAAA,MAClD;AAAA,MACA,yBAAyB,MAAM;AAAA,MAAA;AAAA,IAAC,CAChC;AAAA,EAAA;AAAA,EAGK,mBAAkC;AACjC,WAAAC,8BAAY,KAAK,KAAK,YAAY,KAAK,KAAK,WAAW,KAAK,QAAQ,aAAa;AAAA,EAAA;AAAA,EAGzF,WAAW;AACV,WAAO,EAAE,SAAS,gBAAgB,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS,IAAI,eAAe,KAAK;AAAA,EAAA;AAGvG;AAOO,MAAM,0BAA0BC,oBAAAA,uBAAuB;AAAA,EAC7D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,kBAAoC;AAAA,EAChD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,OAAO,cAAc,MAAM,QAAQ,EAC/C,OAAO,CAAC,EAAE,KAAK,MAAM,eAAe,MAAM,SAAS,IAAI,CAAC,EACxD,QAAQ,CAAU,WAAA;AAClB,YAAM,iBAAiB,eAAe,MAAM,SAAS,OAAO,IAAI;AAEhE,aAAO,OAAO,OAAO,eAAe,MAAM,EACxC,OAAO,CAAA,UAAS,CAAC,OAAO,OAAO,MAAM,IAAI,CAAC,EAC1C,IAAI,CAAS,UAAA;AACb,YAAIC,YAAW,WAAA,KAAK,KAAKC,YAAA,kBAAkB,KAAK,GAAG;AAClD,gBAAM,SAAS,cAAc,MAAM,SAAS,MAAM,MAAM;AACxD,cAAI,CAAC,UAAU,CAAC,OAAO,OAAO,MAAM,OAAO,GAAG;AACtC,mBAAA;AAAA,UAAA;AAAA,QACR;AAED,eAAO,wBAAwB,mBAAmB;AAAA,UACjD,YAAY,OAAO;AAAA,UACnB,WAAW,MAAM;AAAA,QAAA,CACjB;AAAA,MAAA,CACD,EACA,OAAOC,mBAAS;AAAA,IAAA,CAClB;AAAA,EAAA;AAEJ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoveFieldModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/fields/RemoveFieldModification.ts"],"sourcesContent":["import { acceptFieldVisitor, isInverseRelation, isRelation } from '@contember/schema-utils'\nimport { MigrationBuilder } from '@contember/database-migrations'\nimport { Schema } from '@contember/schema'\nimport { removeField, SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler, ModificationHandlerOptions } from '../ModificationHandler'\nimport { isDefined } from '../../utils/isDefined'\n\nexport class RemoveFieldModificationHandler implements ModificationHandler<RemoveFieldModificationData> {\n\n\tconstructor(\n\t\tprivate readonly data: RemoveFieldModificationData,\n\t\tprivate readonly schema: Schema,\n\t\tprivate readonly options: ModificationHandlerOptions,\n\t) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\t\tacceptFieldVisitor(this.schema.model, this.data.entityName, this.data.fieldName, {\n\t\t\tvisitColumn: ({ entity, column }) => {\n\t\t\t\tbuilder.dropColumn(entity.tableName, column.columnName)\n\t\t\t},\n\t\t\tvisitManyHasOne: ({ entity, relation }) => {\n\t\t\t\tbuilder.dropColumn(entity.tableName, relation.joiningColumn.columnName)\n\t\t\t},\n\t\t\tvisitOneHasMany: () => {},\n\t\t\tvisitOneHasOneOwning: ({ entity, relation }) => {\n\t\t\t\tbuilder.dropColumn(entity.tableName, relation.joiningColumn.columnName)\n\t\t\t},\n\t\t\tvisitOneHasOneInverse: () => {},\n\t\t\tvisitManyHasManyOwning: ({ relation }) => {\n\t\t\t\tbuilder.dropTable(relation.joiningTable.tableName)\n\t\t\t},\n\t\t\tvisitManyHasManyInverse: () => {},\n\t\t})\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn removeField(this.data.entityName, this.data.fieldName, this.options.formatVersion)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Remove field ${this.data.entityName}.${this.data.fieldName}`, isDestructive: true }\n\t}\n\n}\n\nexport interface RemoveFieldModificationData {\n\tentityName: string\n\tfieldName: string\n}\n\nexport const removeFieldModification = createModificationType({\n\tid: 'removeField',\n\thandler: RemoveFieldModificationHandler,\n})\n\nexport class RemoveFieldDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.values(updatedSchema.model.entities)\n\t\t\t.filter(({ name }) => originalSchema.model.entities[name])\n\t\t\t.flatMap(entity => {\n\t\t\t\tconst originalEntity = originalSchema.model.entities[entity.name]\n\n\t\t\t\treturn Object.values(originalEntity.fields)\n\t\t\t\t\t.filter(field => !entity.fields[field.name])\n\t\t\t\t\t.map(field => {\n\t\t\t\t\t\tif (isRelation(field) && isInverseRelation(field)) {\n\t\t\t\t\t\t\tconst target = updatedSchema.model.entities[field.target]\n\t\t\t\t\t\t\tif (!target || !target.fields[field.ownedBy]) {\n\t\t\t\t\t\t\t\treturn undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn removeFieldModification.createModification({\n\t\t\t\t\t\t\tentityName: entity.name,\n\t\t\t\t\t\t\tfieldName: field.name,\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t\t.filter(isDefined)\n\t\t\t})\n\t}\n}\n"],"names":["entity"],"mappings":";;;;AAOO,MAAM,+BAA2F;AAAA,EAEvG,YACkB,MACA,QACA,SAChB;AAHgB,SAAA,OAAA;AACA,SAAA,SAAA;AACA,SAAA,UAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"RemoveFieldModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/fields/RemoveFieldModification.ts"],"sourcesContent":["import { acceptFieldVisitor, isInverseRelation, isRelation } from '@contember/schema-utils'\nimport { MigrationBuilder } from '@contember/database-migrations'\nimport { Schema } from '@contember/schema'\nimport { removeField, SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler, ModificationHandlerOptions } from '../ModificationHandler'\nimport { isDefined } from '../../utils/isDefined'\n\nexport class RemoveFieldModificationHandler implements ModificationHandler<RemoveFieldModificationData> {\n\n\tconstructor(\n\t\tprivate readonly data: RemoveFieldModificationData,\n\t\tprivate readonly schema: Schema,\n\t\tprivate readonly options: ModificationHandlerOptions,\n\t) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\t\tacceptFieldVisitor(this.schema.model, this.data.entityName, this.data.fieldName, {\n\t\t\tvisitColumn: ({ entity, column }) => {\n\t\t\t\tbuilder.dropColumn(entity.tableName, column.columnName)\n\t\t\t},\n\t\t\tvisitManyHasOne: ({ entity, relation }) => {\n\t\t\t\tbuilder.dropColumn(entity.tableName, relation.joiningColumn.columnName)\n\t\t\t},\n\t\t\tvisitOneHasMany: () => {},\n\t\t\tvisitOneHasOneOwning: ({ entity, relation }) => {\n\t\t\t\tbuilder.dropColumn(entity.tableName, relation.joiningColumn.columnName)\n\t\t\t},\n\t\t\tvisitOneHasOneInverse: () => {},\n\t\t\tvisitManyHasManyOwning: ({ relation }) => {\n\t\t\t\tbuilder.dropTable(relation.joiningTable.tableName)\n\t\t\t},\n\t\t\tvisitManyHasManyInverse: () => {},\n\t\t})\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn removeField(this.data.entityName, this.data.fieldName, this.options.formatVersion)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Remove field ${this.data.entityName}.${this.data.fieldName}`, isDestructive: true }\n\t}\n\n}\n\nexport interface RemoveFieldModificationData {\n\tentityName: string\n\tfieldName: string\n}\n\nexport const removeFieldModification = createModificationType({\n\tid: 'removeField',\n\thandler: RemoveFieldModificationHandler,\n})\n\nexport class RemoveFieldDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.values(updatedSchema.model.entities)\n\t\t\t.filter(({ name }) => originalSchema.model.entities[name])\n\t\t\t.flatMap(entity => {\n\t\t\t\tconst originalEntity = originalSchema.model.entities[entity.name]\n\n\t\t\t\treturn Object.values(originalEntity.fields)\n\t\t\t\t\t.filter(field => !entity.fields[field.name])\n\t\t\t\t\t.map(field => {\n\t\t\t\t\t\tif (isRelation(field) && isInverseRelation(field)) {\n\t\t\t\t\t\t\tconst target = updatedSchema.model.entities[field.target]\n\t\t\t\t\t\t\tif (!target || !target.fields[field.ownedBy]) {\n\t\t\t\t\t\t\t\treturn undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn removeFieldModification.createModification({\n\t\t\t\t\t\t\tentityName: entity.name,\n\t\t\t\t\t\t\tfieldName: field.name,\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t\t.filter(isDefined)\n\t\t\t})\n\t}\n}\n"],"names":["entity"],"mappings":";;;;AAOO,MAAM,+BAA2F;AAAA,EAEvG,YACkB,MACA,QACA,SAChB;AAHgB,SAAA,OAAA;AACA,SAAA,SAAA;AACA,SAAA,UAAA;AAAA,EAAA;AAAA,EAGX,UAAU,SAAiC;AACjD,UAAM,SAAS,KAAK,OAAO,MAAM,SAAS,KAAK,KAAK,UAAU;AAC9D,QAAI,OAAO,MAAM;AAChB;AAAA,IAAA;AAEkB,uBAAA,KAAK,OAAO,OAAO,KAAK,KAAK,YAAY,KAAK,KAAK,WAAW;AAAA,MAChF,aAAa,CAAC,EAAE,QAAAA,SAAQ,aAAa;AACpC,gBAAQ,WAAWA,QAAO,WAAW,OAAO,UAAU;AAAA,MACvD;AAAA,MACA,iBAAiB,CAAC,EAAE,QAAAA,SAAQ,eAAe;AAC1C,gBAAQ,WAAWA,QAAO,WAAW,SAAS,cAAc,UAAU;AAAA,MACvE;AAAA,MACA,iBAAiB,MAAM;AAAA,MAAC;AAAA,MACxB,sBAAsB,CAAC,EAAE,QAAAA,SAAQ,eAAe;AAC/C,gBAAQ,WAAWA,QAAO,WAAW,SAAS,cAAc,UAAU;AAAA,MACvE;AAAA,MACA,uBAAuB,MAAM;AAAA,MAAC;AAAA,MAC9B,wBAAwB,CAAC,EAAE,eAAe;AACjC,gBAAA,UAAU,SAAS,aAAa,SAAS;AAAA,MAClD;AAAA,MACA,yBAAyB,MAAM;AAAA,MAAA;AAAA,IAAC,CAChC;AAAA,EAAA;AAAA,EAGK,mBAAkC;AACjC,WAAA,YAAY,KAAK,KAAK,YAAY,KAAK,KAAK,WAAW,KAAK,QAAQ,aAAa;AAAA,EAAA;AAAA,EAGzF,WAAW;AACV,WAAO,EAAE,SAAS,gBAAgB,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS,IAAI,eAAe,KAAK;AAAA,EAAA;AAGvG;AAOO,MAAM,0BAA0B,uBAAuB;AAAA,EAC7D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,kBAAoC;AAAA,EAChD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,OAAO,cAAc,MAAM,QAAQ,EAC/C,OAAO,CAAC,EAAE,KAAK,MAAM,eAAe,MAAM,SAAS,IAAI,CAAC,EACxD,QAAQ,CAAU,WAAA;AAClB,YAAM,iBAAiB,eAAe,MAAM,SAAS,OAAO,IAAI;AAEhE,aAAO,OAAO,OAAO,eAAe,MAAM,EACxC,OAAO,CAAA,UAAS,CAAC,OAAO,OAAO,MAAM,IAAI,CAAC,EAC1C,IAAI,CAAS,UAAA;AACb,YAAI,WAAW,KAAK,KAAK,kBAAkB,KAAK,GAAG;AAClD,gBAAM,SAAS,cAAc,MAAM,SAAS,MAAM,MAAM;AACxD,cAAI,CAAC,UAAU,CAAC,OAAO,OAAO,MAAM,OAAO,GAAG;AACtC,mBAAA;AAAA,UAAA;AAAA,QACR;AAED,eAAO,wBAAwB,mBAAmB;AAAA,UACjD,YAAY,OAAO;AAAA,UACnB,WAAW,MAAM;AAAA,QAAA,CACjB;AAAA,MAAA,CACD,EACA,OAAO,SAAS;AAAA,IAAA,CAClB;AAAA,EAAA;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateFieldNameModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/fields/UpdateFieldNameModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Input, Model, Schema, Value } from '@contember/schema'\nimport {\n\tSchemaUpdater,\n\tupdateAcl,\n\tupdateAclEveryEntity,\n\tupdateAclEveryPredicate,\n\tupdateAclEveryRole,\n\tupdateAclFieldPermissions,\n\tupdateEntity,\n\tupdateEveryEntity,\n\tupdateEveryField,\n\tupdateModel,\n\tupdateSchema,\n} from '../utils/schemaUpdateUtils'\nimport {\n\tcreateModificationType,\n\tModificationHandler,\n\tModificationHandlerCreateSqlOptions,\n\tModificationHandlerOptions,\n} from '../ModificationHandler'\nimport { acceptFieldVisitor, PredicateDefinitionProcessor } from '@contember/schema-utils'\nimport {\n\tVERSION_ACL_PATCH,\n\tVERSION_UPDATE_CONSTRAINT_FIELDS,\n\tVERSION_UPDATE_INDEX_FIELDS,\n} from '../ModificationVersions'\nimport { changeValue } from '../utils/valueUtils'\nimport { updateColumnNameModification } from '../columns'\nimport { NoopModification } from '../NoopModification'\n\nexport class UpdateFieldNameModificationHandler implements ModificationHandler<UpdateFieldNameModificationData> {\n\tprivate renameColumnSubModification: ModificationHandler<any> = new NoopModification()\n\n\tconstructor(\n\t\tprivate readonly data: UpdateFieldNameModificationData,\n\t\tprivate readonly schema: Schema,\n\t\tprivate readonly options: ModificationHandlerOptions,\n\t) {\n\t\tif (this.data.columnName) {\n\t\t\tthis.renameColumnSubModification = updateColumnNameModification.createHandler({\n\t\t\t\tentityName: this.data.entityName,\n\t\t\t\tcolumnName: this.data.columnName,\n\t\t\t\tfieldName: this.data.fieldName,\n\t\t\t}, this.schema, this.options)\n\t\t}\n\t}\n\n\tpublic createSql(builder: MigrationBuilder, options: ModificationHandlerCreateSqlOptions): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\t\tthis.renameColumnSubModification.createSql(builder, options)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst updateConstraintFields =\n\t\t\tthis.options.formatVersion >= VERSION_UPDATE_CONSTRAINT_FIELDS\n\t\t\t\t? updateEntity(this.data.entityName, ({ entity }) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...entity,\n\t\t\t\t\t\tunique: entity.unique.map(unique => ({\n\t\t\t\t\t\t\t...unique,\n\t\t\t\t\t\t\tfields: unique.fields.map(changeValue(this.data.fieldName, this.data.newFieldName)),\n\t\t\t\t\t\t})),\n\t\t\t\t\t}\n\t\t\t\t })\n\t\t\t\t: undefined\n\t\tconst updateIndexFields =\n\t\t\tthis.options.formatVersion >= VERSION_UPDATE_INDEX_FIELDS\n\t\t\t\t? updateEntity(this.data.entityName, ({ entity }) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...entity,\n\t\t\t\t\t\tindexes: entity.indexes.map(unique => ({\n\t\t\t\t\t\t\t...unique,\n\t\t\t\t\t\t\tfields: unique.fields.map(changeValue(this.data.fieldName, this.data.newFieldName)),\n\t\t\t\t\t\t})),\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t: undefined\n\t\tconst updateRelationReferences = updateEveryEntity(\n\t\t\tupdateEveryField(({ field, entity }) => {\n\t\t\t\tconst isUpdatedRelation = (entity: Model.Entity, relation: Model.AnyRelation | null) => {\n\t\t\t\t\treturn entity.name === this.data.entityName && relation && relation.name === this.data.fieldName\n\t\t\t\t}\n\n\t\t\t\treturn acceptFieldVisitor<Model.AnyField>(this.schema.model, entity, field, {\n\t\t\t\t\tvisitColumn: ({ column }) => column,\n\t\t\t\t\tvisitManyHasOne: ({ targetEntity, relation, targetRelation }) => {\n\t\t\t\t\t\treturn isUpdatedRelation(targetEntity, targetRelation)\n\t\t\t\t\t\t\t? { ...relation, inversedBy: this.data.newFieldName }\n\t\t\t\t\t\t\t: relation\n\t\t\t\t\t},\n\t\t\t\t\tvisitOneHasMany: ({ relation, targetEntity, targetRelation }) => {\n\t\t\t\t\t\treturn isUpdatedRelation(targetEntity, targetRelation)\n\t\t\t\t\t\t\t? { ...relation, ownedBy: this.data.newFieldName }\n\t\t\t\t\t\t\t: relation\n\t\t\t\t\t},\n\t\t\t\t\tvisitOneHasOneOwning: ({ relation, targetEntity, targetRelation }) => {\n\t\t\t\t\t\treturn isUpdatedRelation(targetEntity, targetRelation)\n\t\t\t\t\t\t\t? { ...relation, inversedBy: this.data.newFieldName }\n\t\t\t\t\t\t\t: relation\n\t\t\t\t\t},\n\t\t\t\t\tvisitOneHasOneInverse: ({ relation, targetEntity, targetRelation }) => {\n\t\t\t\t\t\treturn isUpdatedRelation(targetEntity, targetRelation)\n\t\t\t\t\t\t\t? { ...relation, ownedBy: this.data.newFieldName }\n\t\t\t\t\t\t\t: relation\n\t\t\t\t\t},\n\t\t\t\t\tvisitManyHasManyOwning: ({ relation, targetEntity, targetRelation }) => {\n\t\t\t\t\t\treturn isUpdatedRelation(targetEntity, targetRelation)\n\t\t\t\t\t\t\t? { ...relation, inversedBy: this.data.newFieldName }\n\t\t\t\t\t\t\t: relation\n\t\t\t\t\t},\n\t\t\t\t\tvisitManyHasManyInverse: ({ relation, targetEntity, targetRelation }) => {\n\t\t\t\t\t\treturn isUpdatedRelation(targetEntity, targetRelation)\n\t\t\t\t\t\t\t? { ...relation, ownedBy: this.data.newFieldName }\n\t\t\t\t\t\t\t: relation\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t}),\n\t\t)\n\t\tconst updateFieldName = updateEntity(this.data.entityName, ({ entity }) => {\n\t\t\tconst { [this.data.fieldName]: updated, ...fields } = entity.fields\n\t\t\treturn {\n\t\t\t\t...entity,\n\t\t\t\tfields: {\n\t\t\t\t\t...fields,\n\t\t\t\t\t[this.data.newFieldName]: { ...updated, name: this.data.newFieldName },\n\t\t\t\t},\n\t\t\t}\n\t\t})\n\t\tconst updateAclOp =\n\t\t\tthis.options.formatVersion >= VERSION_ACL_PATCH\n\t\t\t\t? updateAcl(\n\t\t\t\t\tupdateAclEveryRole(\n\t\t\t\t\t\tupdateAclEveryEntity(\n\t\t\t\t\t\t\tupdateAclFieldPermissions((permissions, entityName) => {\n\t\t\t\t\t\t\t\tif (entityName !== this.data.entityName) {\n\t\t\t\t\t\t\t\t\treturn permissions\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (!permissions[this.data.fieldName]) {\n\t\t\t\t\t\t\t\t\treturn permissions\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tconst { [this.data.fieldName]: field, ...other } = permissions\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t[this.data.newFieldName]: field,\n\t\t\t\t\t\t\t\t\t...other,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tupdateAclEveryPredicate(({ predicate, entityName, schema }) => {\n\t\t\t\t\t\t\t\tconst processor = new PredicateDefinitionProcessor(schema.model)\n\t\t\t\t\t\t\t\tconst currentEntity = schema.model.entities[entityName]\n\t\t\t\t\t\t\t\treturn processor.process<Input.Condition<Value.FieldValue<never>> | string, never>(\n\t\t\t\t\t\t\t\t\tcurrentEntity,\n\t\t\t\t\t\t\t\t\tpredicate,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\thandleColumn: ctx =>\n\t\t\t\t\t\t\t\t\t\t\tctx.entity.name === this.data.entityName && ctx.column.name === this.data.fieldName\n\t\t\t\t\t\t\t\t\t\t\t\t? [this.data.newFieldName, ctx.value]\n\t\t\t\t\t\t\t\t\t\t\t\t: ctx.value,\n\t\t\t\t\t\t\t\t\t\thandleRelation: ctx =>\n\t\t\t\t\t\t\t\t\t\t\tctx.entity.name === this.data.entityName && ctx.relation.name === this.data.fieldName\n\t\t\t\t\t\t\t\t\t\t\t\t? [this.data.newFieldName, ctx.value]\n\t\t\t\t\t\t\t\t\t\t\t\t: ctx.value,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t),\n\t\t\t\t\t),\n\t\t\t\t )\n\t\t\t\t: undefined\n\t\treturn updateSchema(\n\t\t\tupdateAclOp,\n\t\t\tthis.renameColumnSubModification.getSchemaUpdater(),\n\t\t\tupdateModel(\n\t\t\t\tupdateConstraintFields,\n\t\t\t\tupdateIndexFields,\n\t\t\t\tupdateRelationReferences,\n\t\t\t\tupdateFieldName,\n\t\t\t),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Change field name ${this.data.entityName}.${this.data.fieldName} to ${this.data.newFieldName}` }\n\t}\n}\n\nexport interface UpdateFieldNameModificationData {\n\tentityName: string\n\tfieldName: string\n\tnewFieldName: string\n\tcolumnName?: string\n}\n\nexport const updateFieldNameModification = createModificationType({\n\tid: 'updateFieldName',\n\thandler: UpdateFieldNameModificationHandler,\n})\n"],"names":["NoopModification","updateColumnNameModification","VERSION_UPDATE_CONSTRAINT_FIELDS","updateEntity","changeValue","VERSION_UPDATE_INDEX_FIELDS","updateEveryEntity","updateEveryField","entity","acceptFieldVisitor","VERSION_ACL_PATCH","updateAcl","updateAclEveryRole","updateAclEveryEntity","updateAclFieldPermissions","updateAclEveryPredicate","PredicateDefinitionProcessor","updateSchema","updateModel","createModificationType"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UpdateFieldNameModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/fields/UpdateFieldNameModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Input, Model, Schema, Value } from '@contember/schema'\nimport {\n\tSchemaUpdater,\n\tupdateAcl,\n\tupdateAclEveryEntity,\n\tupdateAclEveryPredicate,\n\tupdateAclEveryRole,\n\tupdateAclFieldPermissions,\n\tupdateEntity,\n\tupdateEveryEntity,\n\tupdateEveryField,\n\tupdateModel,\n\tupdateSchema,\n} from '../utils/schemaUpdateUtils'\nimport {\n\tcreateModificationType,\n\tModificationHandler,\n\tModificationHandlerCreateSqlOptions,\n\tModificationHandlerOptions,\n} from '../ModificationHandler'\nimport { acceptFieldVisitor, PredicateDefinitionProcessor } from '@contember/schema-utils'\nimport {\n\tVERSION_ACL_PATCH,\n\tVERSION_UPDATE_CONSTRAINT_FIELDS,\n\tVERSION_UPDATE_INDEX_FIELDS,\n} from '../ModificationVersions'\nimport { changeValue } from '../utils/valueUtils'\nimport { updateColumnNameModification } from '../columns'\nimport { NoopModification } from '../NoopModification'\n\nexport class UpdateFieldNameModificationHandler implements ModificationHandler<UpdateFieldNameModificationData> {\n\tprivate renameColumnSubModification: ModificationHandler<any> = new NoopModification()\n\n\tconstructor(\n\t\tprivate readonly data: UpdateFieldNameModificationData,\n\t\tprivate readonly schema: Schema,\n\t\tprivate readonly options: ModificationHandlerOptions,\n\t) {\n\t\tif (this.data.columnName) {\n\t\t\tthis.renameColumnSubModification = updateColumnNameModification.createHandler({\n\t\t\t\tentityName: this.data.entityName,\n\t\t\t\tcolumnName: this.data.columnName,\n\t\t\t\tfieldName: this.data.fieldName,\n\t\t\t}, this.schema, this.options)\n\t\t}\n\t}\n\n\tpublic createSql(builder: MigrationBuilder, options: ModificationHandlerCreateSqlOptions): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\t\tthis.renameColumnSubModification.createSql(builder, options)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst updateConstraintFields =\n\t\t\tthis.options.formatVersion >= VERSION_UPDATE_CONSTRAINT_FIELDS\n\t\t\t\t? updateEntity(this.data.entityName, ({ entity }) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...entity,\n\t\t\t\t\t\tunique: entity.unique.map(unique => ({\n\t\t\t\t\t\t\t...unique,\n\t\t\t\t\t\t\tfields: unique.fields.map(changeValue(this.data.fieldName, this.data.newFieldName)),\n\t\t\t\t\t\t})),\n\t\t\t\t\t}\n\t\t\t\t })\n\t\t\t\t: undefined\n\t\tconst updateIndexFields =\n\t\t\tthis.options.formatVersion >= VERSION_UPDATE_INDEX_FIELDS\n\t\t\t\t? updateEntity(this.data.entityName, ({ entity }) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...entity,\n\t\t\t\t\t\tindexes: entity.indexes.map(unique => ({\n\t\t\t\t\t\t\t...unique,\n\t\t\t\t\t\t\tfields: unique.fields.map(changeValue(this.data.fieldName, this.data.newFieldName)),\n\t\t\t\t\t\t})),\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t: undefined\n\t\tconst updateRelationReferences = updateEveryEntity(\n\t\t\tupdateEveryField(({ field, entity }) => {\n\t\t\t\tconst isUpdatedRelation = (entity: Model.Entity, relation: Model.AnyRelation | null) => {\n\t\t\t\t\treturn entity.name === this.data.entityName && relation && relation.name === this.data.fieldName\n\t\t\t\t}\n\n\t\t\t\treturn acceptFieldVisitor<Model.AnyField>(this.schema.model, entity, field, {\n\t\t\t\t\tvisitColumn: ({ column }) => column,\n\t\t\t\t\tvisitManyHasOne: ({ targetEntity, relation, targetRelation }) => {\n\t\t\t\t\t\treturn isUpdatedRelation(targetEntity, targetRelation)\n\t\t\t\t\t\t\t? { ...relation, inversedBy: this.data.newFieldName }\n\t\t\t\t\t\t\t: relation\n\t\t\t\t\t},\n\t\t\t\t\tvisitOneHasMany: ({ relation, targetEntity, targetRelation }) => {\n\t\t\t\t\t\treturn isUpdatedRelation(targetEntity, targetRelation)\n\t\t\t\t\t\t\t? { ...relation, ownedBy: this.data.newFieldName }\n\t\t\t\t\t\t\t: relation\n\t\t\t\t\t},\n\t\t\t\t\tvisitOneHasOneOwning: ({ relation, targetEntity, targetRelation }) => {\n\t\t\t\t\t\treturn isUpdatedRelation(targetEntity, targetRelation)\n\t\t\t\t\t\t\t? { ...relation, inversedBy: this.data.newFieldName }\n\t\t\t\t\t\t\t: relation\n\t\t\t\t\t},\n\t\t\t\t\tvisitOneHasOneInverse: ({ relation, targetEntity, targetRelation }) => {\n\t\t\t\t\t\treturn isUpdatedRelation(targetEntity, targetRelation)\n\t\t\t\t\t\t\t? { ...relation, ownedBy: this.data.newFieldName }\n\t\t\t\t\t\t\t: relation\n\t\t\t\t\t},\n\t\t\t\t\tvisitManyHasManyOwning: ({ relation, targetEntity, targetRelation }) => {\n\t\t\t\t\t\treturn isUpdatedRelation(targetEntity, targetRelation)\n\t\t\t\t\t\t\t? { ...relation, inversedBy: this.data.newFieldName }\n\t\t\t\t\t\t\t: relation\n\t\t\t\t\t},\n\t\t\t\t\tvisitManyHasManyInverse: ({ relation, targetEntity, targetRelation }) => {\n\t\t\t\t\t\treturn isUpdatedRelation(targetEntity, targetRelation)\n\t\t\t\t\t\t\t? { ...relation, ownedBy: this.data.newFieldName }\n\t\t\t\t\t\t\t: relation\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t}),\n\t\t)\n\t\tconst updateFieldName = updateEntity(this.data.entityName, ({ entity }) => {\n\t\t\tconst { [this.data.fieldName]: updated, ...fields } = entity.fields\n\t\t\treturn {\n\t\t\t\t...entity,\n\t\t\t\tfields: {\n\t\t\t\t\t...fields,\n\t\t\t\t\t[this.data.newFieldName]: { ...updated, name: this.data.newFieldName },\n\t\t\t\t},\n\t\t\t}\n\t\t})\n\t\tconst updateAclOp =\n\t\t\tthis.options.formatVersion >= VERSION_ACL_PATCH\n\t\t\t\t? updateAcl(\n\t\t\t\t\tupdateAclEveryRole(\n\t\t\t\t\t\tupdateAclEveryEntity(\n\t\t\t\t\t\t\tupdateAclFieldPermissions((permissions, entityName) => {\n\t\t\t\t\t\t\t\tif (entityName !== this.data.entityName) {\n\t\t\t\t\t\t\t\t\treturn permissions\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (!permissions[this.data.fieldName]) {\n\t\t\t\t\t\t\t\t\treturn permissions\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tconst { [this.data.fieldName]: field, ...other } = permissions\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t[this.data.newFieldName]: field,\n\t\t\t\t\t\t\t\t\t...other,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tupdateAclEveryPredicate(({ predicate, entityName, schema }) => {\n\t\t\t\t\t\t\t\tconst processor = new PredicateDefinitionProcessor(schema.model)\n\t\t\t\t\t\t\t\tconst currentEntity = schema.model.entities[entityName]\n\t\t\t\t\t\t\t\treturn processor.process<Input.Condition<Value.FieldValue<never>> | string, never>(\n\t\t\t\t\t\t\t\t\tcurrentEntity,\n\t\t\t\t\t\t\t\t\tpredicate,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\thandleColumn: ctx =>\n\t\t\t\t\t\t\t\t\t\t\tctx.entity.name === this.data.entityName && ctx.column.name === this.data.fieldName\n\t\t\t\t\t\t\t\t\t\t\t\t? [this.data.newFieldName, ctx.value]\n\t\t\t\t\t\t\t\t\t\t\t\t: ctx.value,\n\t\t\t\t\t\t\t\t\t\thandleRelation: ctx =>\n\t\t\t\t\t\t\t\t\t\t\tctx.entity.name === this.data.entityName && ctx.relation.name === this.data.fieldName\n\t\t\t\t\t\t\t\t\t\t\t\t? [this.data.newFieldName, ctx.value]\n\t\t\t\t\t\t\t\t\t\t\t\t: ctx.value,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t),\n\t\t\t\t\t),\n\t\t\t\t )\n\t\t\t\t: undefined\n\t\treturn updateSchema(\n\t\t\tupdateAclOp,\n\t\t\tthis.renameColumnSubModification.getSchemaUpdater(),\n\t\t\tupdateModel(\n\t\t\t\tupdateConstraintFields,\n\t\t\t\tupdateIndexFields,\n\t\t\t\tupdateRelationReferences,\n\t\t\t\tupdateFieldName,\n\t\t\t),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Change field name ${this.data.entityName}.${this.data.fieldName} to ${this.data.newFieldName}` }\n\t}\n}\n\nexport interface UpdateFieldNameModificationData {\n\tentityName: string\n\tfieldName: string\n\tnewFieldName: string\n\tcolumnName?: string\n}\n\nexport const updateFieldNameModification = createModificationType({\n\tid: 'updateFieldName',\n\thandler: UpdateFieldNameModificationHandler,\n})\n"],"names":["NoopModification","updateColumnNameModification","VERSION_UPDATE_CONSTRAINT_FIELDS","updateEntity","changeValue","VERSION_UPDATE_INDEX_FIELDS","updateEveryEntity","updateEveryField","entity","acceptFieldVisitor","VERSION_ACL_PATCH","updateAcl","updateAclEveryRole","updateAclEveryEntity","updateAclFieldPermissions","updateAclEveryPredicate","PredicateDefinitionProcessor","updateSchema","updateModel","createModificationType"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateFieldNameModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/fields/UpdateFieldNameModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Input, Model, Schema, Value } from '@contember/schema'\nimport {\n\tSchemaUpdater,\n\tupdateAcl,\n\tupdateAclEveryEntity,\n\tupdateAclEveryPredicate,\n\tupdateAclEveryRole,\n\tupdateAclFieldPermissions,\n\tupdateEntity,\n\tupdateEveryEntity,\n\tupdateEveryField,\n\tupdateModel,\n\tupdateSchema,\n} from '../utils/schemaUpdateUtils'\nimport {\n\tcreateModificationType,\n\tModificationHandler,\n\tModificationHandlerCreateSqlOptions,\n\tModificationHandlerOptions,\n} from '../ModificationHandler'\nimport { acceptFieldVisitor, PredicateDefinitionProcessor } from '@contember/schema-utils'\nimport {\n\tVERSION_ACL_PATCH,\n\tVERSION_UPDATE_CONSTRAINT_FIELDS,\n\tVERSION_UPDATE_INDEX_FIELDS,\n} from '../ModificationVersions'\nimport { changeValue } from '../utils/valueUtils'\nimport { updateColumnNameModification } from '../columns'\nimport { NoopModification } from '../NoopModification'\n\nexport class UpdateFieldNameModificationHandler implements ModificationHandler<UpdateFieldNameModificationData> {\n\tprivate renameColumnSubModification: ModificationHandler<any> = new NoopModification()\n\n\tconstructor(\n\t\tprivate readonly data: UpdateFieldNameModificationData,\n\t\tprivate readonly schema: Schema,\n\t\tprivate readonly options: ModificationHandlerOptions,\n\t) {\n\t\tif (this.data.columnName) {\n\t\t\tthis.renameColumnSubModification = updateColumnNameModification.createHandler({\n\t\t\t\tentityName: this.data.entityName,\n\t\t\t\tcolumnName: this.data.columnName,\n\t\t\t\tfieldName: this.data.fieldName,\n\t\t\t}, this.schema, this.options)\n\t\t}\n\t}\n\n\tpublic createSql(builder: MigrationBuilder, options: ModificationHandlerCreateSqlOptions): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\t\tthis.renameColumnSubModification.createSql(builder, options)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst updateConstraintFields =\n\t\t\tthis.options.formatVersion >= VERSION_UPDATE_CONSTRAINT_FIELDS\n\t\t\t\t? updateEntity(this.data.entityName, ({ entity }) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...entity,\n\t\t\t\t\t\tunique: entity.unique.map(unique => ({\n\t\t\t\t\t\t\t...unique,\n\t\t\t\t\t\t\tfields: unique.fields.map(changeValue(this.data.fieldName, this.data.newFieldName)),\n\t\t\t\t\t\t})),\n\t\t\t\t\t}\n\t\t\t\t })\n\t\t\t\t: undefined\n\t\tconst updateIndexFields =\n\t\t\tthis.options.formatVersion >= VERSION_UPDATE_INDEX_FIELDS\n\t\t\t\t? updateEntity(this.data.entityName, ({ entity }) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...entity,\n\t\t\t\t\t\tindexes: entity.indexes.map(unique => ({\n\t\t\t\t\t\t\t...unique,\n\t\t\t\t\t\t\tfields: unique.fields.map(changeValue(this.data.fieldName, this.data.newFieldName)),\n\t\t\t\t\t\t})),\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t: undefined\n\t\tconst updateRelationReferences = updateEveryEntity(\n\t\t\tupdateEveryField(({ field, entity }) => {\n\t\t\t\tconst isUpdatedRelation = (entity: Model.Entity, relation: Model.AnyRelation | null) => {\n\t\t\t\t\treturn entity.name === this.data.entityName && relation && relation.name === this.data.fieldName\n\t\t\t\t}\n\n\t\t\t\treturn acceptFieldVisitor<Model.AnyField>(this.schema.model, entity, field, {\n\t\t\t\t\tvisitColumn: ({ column }) => column,\n\t\t\t\t\tvisitManyHasOne: ({ targetEntity, relation, targetRelation }) => {\n\t\t\t\t\t\treturn isUpdatedRelation(targetEntity, targetRelation)\n\t\t\t\t\t\t\t? { ...relation, inversedBy: this.data.newFieldName }\n\t\t\t\t\t\t\t: relation\n\t\t\t\t\t},\n\t\t\t\t\tvisitOneHasMany: ({ relation, targetEntity, targetRelation }) => {\n\t\t\t\t\t\treturn isUpdatedRelation(targetEntity, targetRelation)\n\t\t\t\t\t\t\t? { ...relation, ownedBy: this.data.newFieldName }\n\t\t\t\t\t\t\t: relation\n\t\t\t\t\t},\n\t\t\t\t\tvisitOneHasOneOwning: ({ relation, targetEntity, targetRelation }) => {\n\t\t\t\t\t\treturn isUpdatedRelation(targetEntity, targetRelation)\n\t\t\t\t\t\t\t? { ...relation, inversedBy: this.data.newFieldName }\n\t\t\t\t\t\t\t: relation\n\t\t\t\t\t},\n\t\t\t\t\tvisitOneHasOneInverse: ({ relation, targetEntity, targetRelation }) => {\n\t\t\t\t\t\treturn isUpdatedRelation(targetEntity, targetRelation)\n\t\t\t\t\t\t\t? { ...relation, ownedBy: this.data.newFieldName }\n\t\t\t\t\t\t\t: relation\n\t\t\t\t\t},\n\t\t\t\t\tvisitManyHasManyOwning: ({ relation, targetEntity, targetRelation }) => {\n\t\t\t\t\t\treturn isUpdatedRelation(targetEntity, targetRelation)\n\t\t\t\t\t\t\t? { ...relation, inversedBy: this.data.newFieldName }\n\t\t\t\t\t\t\t: relation\n\t\t\t\t\t},\n\t\t\t\t\tvisitManyHasManyInverse: ({ relation, targetEntity, targetRelation }) => {\n\t\t\t\t\t\treturn isUpdatedRelation(targetEntity, targetRelation)\n\t\t\t\t\t\t\t? { ...relation, ownedBy: this.data.newFieldName }\n\t\t\t\t\t\t\t: relation\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t}),\n\t\t)\n\t\tconst updateFieldName = updateEntity(this.data.entityName, ({ entity }) => {\n\t\t\tconst { [this.data.fieldName]: updated, ...fields } = entity.fields\n\t\t\treturn {\n\t\t\t\t...entity,\n\t\t\t\tfields: {\n\t\t\t\t\t...fields,\n\t\t\t\t\t[this.data.newFieldName]: { ...updated, name: this.data.newFieldName },\n\t\t\t\t},\n\t\t\t}\n\t\t})\n\t\tconst updateAclOp =\n\t\t\tthis.options.formatVersion >= VERSION_ACL_PATCH\n\t\t\t\t? updateAcl(\n\t\t\t\t\tupdateAclEveryRole(\n\t\t\t\t\t\tupdateAclEveryEntity(\n\t\t\t\t\t\t\tupdateAclFieldPermissions((permissions, entityName) => {\n\t\t\t\t\t\t\t\tif (entityName !== this.data.entityName) {\n\t\t\t\t\t\t\t\t\treturn permissions\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (!permissions[this.data.fieldName]) {\n\t\t\t\t\t\t\t\t\treturn permissions\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tconst { [this.data.fieldName]: field, ...other } = permissions\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t[this.data.newFieldName]: field,\n\t\t\t\t\t\t\t\t\t...other,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tupdateAclEveryPredicate(({ predicate, entityName, schema }) => {\n\t\t\t\t\t\t\t\tconst processor = new PredicateDefinitionProcessor(schema.model)\n\t\t\t\t\t\t\t\tconst currentEntity = schema.model.entities[entityName]\n\t\t\t\t\t\t\t\treturn processor.process<Input.Condition<Value.FieldValue<never>> | string, never>(\n\t\t\t\t\t\t\t\t\tcurrentEntity,\n\t\t\t\t\t\t\t\t\tpredicate,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\thandleColumn: ctx =>\n\t\t\t\t\t\t\t\t\t\t\tctx.entity.name === this.data.entityName && ctx.column.name === this.data.fieldName\n\t\t\t\t\t\t\t\t\t\t\t\t? [this.data.newFieldName, ctx.value]\n\t\t\t\t\t\t\t\t\t\t\t\t: ctx.value,\n\t\t\t\t\t\t\t\t\t\thandleRelation: ctx =>\n\t\t\t\t\t\t\t\t\t\t\tctx.entity.name === this.data.entityName && ctx.relation.name === this.data.fieldName\n\t\t\t\t\t\t\t\t\t\t\t\t? [this.data.newFieldName, ctx.value]\n\t\t\t\t\t\t\t\t\t\t\t\t: ctx.value,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t),\n\t\t\t\t\t),\n\t\t\t\t )\n\t\t\t\t: undefined\n\t\treturn updateSchema(\n\t\t\tupdateAclOp,\n\t\t\tthis.renameColumnSubModification.getSchemaUpdater(),\n\t\t\tupdateModel(\n\t\t\t\tupdateConstraintFields,\n\t\t\t\tupdateIndexFields,\n\t\t\t\tupdateRelationReferences,\n\t\t\t\tupdateFieldName,\n\t\t\t),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Change field name ${this.data.entityName}.${this.data.fieldName} to ${this.data.newFieldName}` }\n\t}\n}\n\nexport interface UpdateFieldNameModificationData {\n\tentityName: string\n\tfieldName: string\n\tnewFieldName: string\n\tcolumnName?: string\n}\n\nexport const updateFieldNameModification = createModificationType({\n\tid: 'updateFieldName',\n\thandler: UpdateFieldNameModificationHandler,\n})\n"],"names":["entity"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UpdateFieldNameModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/fields/UpdateFieldNameModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Input, Model, Schema, Value } from '@contember/schema'\nimport {\n\tSchemaUpdater,\n\tupdateAcl,\n\tupdateAclEveryEntity,\n\tupdateAclEveryPredicate,\n\tupdateAclEveryRole,\n\tupdateAclFieldPermissions,\n\tupdateEntity,\n\tupdateEveryEntity,\n\tupdateEveryField,\n\tupdateModel,\n\tupdateSchema,\n} from '../utils/schemaUpdateUtils'\nimport {\n\tcreateModificationType,\n\tModificationHandler,\n\tModificationHandlerCreateSqlOptions,\n\tModificationHandlerOptions,\n} from '../ModificationHandler'\nimport { acceptFieldVisitor, PredicateDefinitionProcessor } from '@contember/schema-utils'\nimport {\n\tVERSION_ACL_PATCH,\n\tVERSION_UPDATE_CONSTRAINT_FIELDS,\n\tVERSION_UPDATE_INDEX_FIELDS,\n} from '../ModificationVersions'\nimport { changeValue } from '../utils/valueUtils'\nimport { updateColumnNameModification } from '../columns'\nimport { NoopModification } from '../NoopModification'\n\nexport class UpdateFieldNameModificationHandler implements ModificationHandler<UpdateFieldNameModificationData> {\n\tprivate renameColumnSubModification: ModificationHandler<any> = new NoopModification()\n\n\tconstructor(\n\t\tprivate readonly data: UpdateFieldNameModificationData,\n\t\tprivate readonly schema: Schema,\n\t\tprivate readonly options: ModificationHandlerOptions,\n\t) {\n\t\tif (this.data.columnName) {\n\t\t\tthis.renameColumnSubModification = updateColumnNameModification.createHandler({\n\t\t\t\tentityName: this.data.entityName,\n\t\t\t\tcolumnName: this.data.columnName,\n\t\t\t\tfieldName: this.data.fieldName,\n\t\t\t}, this.schema, this.options)\n\t\t}\n\t}\n\n\tpublic createSql(builder: MigrationBuilder, options: ModificationHandlerCreateSqlOptions): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\t\tthis.renameColumnSubModification.createSql(builder, options)\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst updateConstraintFields =\n\t\t\tthis.options.formatVersion >= VERSION_UPDATE_CONSTRAINT_FIELDS\n\t\t\t\t? updateEntity(this.data.entityName, ({ entity }) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...entity,\n\t\t\t\t\t\tunique: entity.unique.map(unique => ({\n\t\t\t\t\t\t\t...unique,\n\t\t\t\t\t\t\tfields: unique.fields.map(changeValue(this.data.fieldName, this.data.newFieldName)),\n\t\t\t\t\t\t})),\n\t\t\t\t\t}\n\t\t\t\t })\n\t\t\t\t: undefined\n\t\tconst updateIndexFields =\n\t\t\tthis.options.formatVersion >= VERSION_UPDATE_INDEX_FIELDS\n\t\t\t\t? updateEntity(this.data.entityName, ({ entity }) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...entity,\n\t\t\t\t\t\tindexes: entity.indexes.map(unique => ({\n\t\t\t\t\t\t\t...unique,\n\t\t\t\t\t\t\tfields: unique.fields.map(changeValue(this.data.fieldName, this.data.newFieldName)),\n\t\t\t\t\t\t})),\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t: undefined\n\t\tconst updateRelationReferences = updateEveryEntity(\n\t\t\tupdateEveryField(({ field, entity }) => {\n\t\t\t\tconst isUpdatedRelation = (entity: Model.Entity, relation: Model.AnyRelation | null) => {\n\t\t\t\t\treturn entity.name === this.data.entityName && relation && relation.name === this.data.fieldName\n\t\t\t\t}\n\n\t\t\t\treturn acceptFieldVisitor<Model.AnyField>(this.schema.model, entity, field, {\n\t\t\t\t\tvisitColumn: ({ column }) => column,\n\t\t\t\t\tvisitManyHasOne: ({ targetEntity, relation, targetRelation }) => {\n\t\t\t\t\t\treturn isUpdatedRelation(targetEntity, targetRelation)\n\t\t\t\t\t\t\t? { ...relation, inversedBy: this.data.newFieldName }\n\t\t\t\t\t\t\t: relation\n\t\t\t\t\t},\n\t\t\t\t\tvisitOneHasMany: ({ relation, targetEntity, targetRelation }) => {\n\t\t\t\t\t\treturn isUpdatedRelation(targetEntity, targetRelation)\n\t\t\t\t\t\t\t? { ...relation, ownedBy: this.data.newFieldName }\n\t\t\t\t\t\t\t: relation\n\t\t\t\t\t},\n\t\t\t\t\tvisitOneHasOneOwning: ({ relation, targetEntity, targetRelation }) => {\n\t\t\t\t\t\treturn isUpdatedRelation(targetEntity, targetRelation)\n\t\t\t\t\t\t\t? { ...relation, inversedBy: this.data.newFieldName }\n\t\t\t\t\t\t\t: relation\n\t\t\t\t\t},\n\t\t\t\t\tvisitOneHasOneInverse: ({ relation, targetEntity, targetRelation }) => {\n\t\t\t\t\t\treturn isUpdatedRelation(targetEntity, targetRelation)\n\t\t\t\t\t\t\t? { ...relation, ownedBy: this.data.newFieldName }\n\t\t\t\t\t\t\t: relation\n\t\t\t\t\t},\n\t\t\t\t\tvisitManyHasManyOwning: ({ relation, targetEntity, targetRelation }) => {\n\t\t\t\t\t\treturn isUpdatedRelation(targetEntity, targetRelation)\n\t\t\t\t\t\t\t? { ...relation, inversedBy: this.data.newFieldName }\n\t\t\t\t\t\t\t: relation\n\t\t\t\t\t},\n\t\t\t\t\tvisitManyHasManyInverse: ({ relation, targetEntity, targetRelation }) => {\n\t\t\t\t\t\treturn isUpdatedRelation(targetEntity, targetRelation)\n\t\t\t\t\t\t\t? { ...relation, ownedBy: this.data.newFieldName }\n\t\t\t\t\t\t\t: relation\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t}),\n\t\t)\n\t\tconst updateFieldName = updateEntity(this.data.entityName, ({ entity }) => {\n\t\t\tconst { [this.data.fieldName]: updated, ...fields } = entity.fields\n\t\t\treturn {\n\t\t\t\t...entity,\n\t\t\t\tfields: {\n\t\t\t\t\t...fields,\n\t\t\t\t\t[this.data.newFieldName]: { ...updated, name: this.data.newFieldName },\n\t\t\t\t},\n\t\t\t}\n\t\t})\n\t\tconst updateAclOp =\n\t\t\tthis.options.formatVersion >= VERSION_ACL_PATCH\n\t\t\t\t? updateAcl(\n\t\t\t\t\tupdateAclEveryRole(\n\t\t\t\t\t\tupdateAclEveryEntity(\n\t\t\t\t\t\t\tupdateAclFieldPermissions((permissions, entityName) => {\n\t\t\t\t\t\t\t\tif (entityName !== this.data.entityName) {\n\t\t\t\t\t\t\t\t\treturn permissions\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (!permissions[this.data.fieldName]) {\n\t\t\t\t\t\t\t\t\treturn permissions\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tconst { [this.data.fieldName]: field, ...other } = permissions\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t[this.data.newFieldName]: field,\n\t\t\t\t\t\t\t\t\t...other,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tupdateAclEveryPredicate(({ predicate, entityName, schema }) => {\n\t\t\t\t\t\t\t\tconst processor = new PredicateDefinitionProcessor(schema.model)\n\t\t\t\t\t\t\t\tconst currentEntity = schema.model.entities[entityName]\n\t\t\t\t\t\t\t\treturn processor.process<Input.Condition<Value.FieldValue<never>> | string, never>(\n\t\t\t\t\t\t\t\t\tcurrentEntity,\n\t\t\t\t\t\t\t\t\tpredicate,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\thandleColumn: ctx =>\n\t\t\t\t\t\t\t\t\t\t\tctx.entity.name === this.data.entityName && ctx.column.name === this.data.fieldName\n\t\t\t\t\t\t\t\t\t\t\t\t? [this.data.newFieldName, ctx.value]\n\t\t\t\t\t\t\t\t\t\t\t\t: ctx.value,\n\t\t\t\t\t\t\t\t\t\thandleRelation: ctx =>\n\t\t\t\t\t\t\t\t\t\t\tctx.entity.name === this.data.entityName && ctx.relation.name === this.data.fieldName\n\t\t\t\t\t\t\t\t\t\t\t\t? [this.data.newFieldName, ctx.value]\n\t\t\t\t\t\t\t\t\t\t\t\t: ctx.value,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t),\n\t\t\t\t\t),\n\t\t\t\t )\n\t\t\t\t: undefined\n\t\treturn updateSchema(\n\t\t\tupdateAclOp,\n\t\t\tthis.renameColumnSubModification.getSchemaUpdater(),\n\t\t\tupdateModel(\n\t\t\t\tupdateConstraintFields,\n\t\t\t\tupdateIndexFields,\n\t\t\t\tupdateRelationReferences,\n\t\t\t\tupdateFieldName,\n\t\t\t),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Change field name ${this.data.entityName}.${this.data.fieldName} to ${this.data.newFieldName}` }\n\t}\n}\n\nexport interface UpdateFieldNameModificationData {\n\tentityName: string\n\tfieldName: string\n\tnewFieldName: string\n\tcolumnName?: string\n}\n\nexport const updateFieldNameModification = createModificationType({\n\tid: 'updateFieldName',\n\thandler: UpdateFieldNameModificationHandler,\n})\n"],"names":["entity"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateIndexModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/indexes/CreateIndexModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'\nimport {\n\tcreateModificationType,\n\tDiffer,\n\tModificationHandler,\n\tModificationHandlerCreateSqlOptions,\n} from '../ModificationHandler'\nimport { wrapIdentifier } from '../../utils/dbHelpers'\nimport { getIndexColumns } from './utils'\nimport deepEqual from 'fast-deep-equal'\n\nexport class CreateIndexModificationHandler implements ModificationHandler<CreateIndexModificationData> {\n\tconstructor(private readonly data: CreateIndexModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder, { databaseMetadata, invalidateDatabaseMetadata }: ModificationHandlerCreateSqlOptions): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\t\tconst fields = this.data.index.fields\n\t\tconst columns = getIndexColumns({\n\t\t\tfields,\n\t\t\tentity,\n\t\t\tmodel: this.schema.model,\n\t\t})\n\n\t\tconst tableNameId = wrapIdentifier(entity.tableName)\n\t\tconst columnNameIds = columns.map(wrapIdentifier)\n\n\t\tbuilder.sql(`CREATE INDEX ON ${tableNameId} (${columnNameIds.join(', ')})`)\n\n\t\tinvalidateDatabaseMetadata()\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(\n\t\t\tupdateEntity(this.data.entityName, ({ entity }) => ({\n\t\t\t\t...entity,\n\t\t\t\tindexes: [\n\t\t\t\t\t...entity.indexes,\n\t\t\t\t\tthis.data.index,\n\t\t\t\t],\n\t\t\t})),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn {\n\t\t\tmessage: `Create index(${this.data.index.fields.join(', ')}) on entity ${this.data.entityName}`,\n\t\t}\n\t}\n}\n\nexport const createIndexModification = createModificationType({\n\tid: 'createIndex',\n\thandler: CreateIndexModificationHandler,\n})\n\nexport interface CreateIndexModificationData {\n\tentityName: string\n\tindex: Model.Index\n}\n\nexport class CreateIndexDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.values(updatedSchema.model.entities).flatMap(entity =>\n\t\t\tentity.indexes\n\t\t\t\t.filter(it => !originalSchema.model.entities[entity.name].indexes.find(idx => deepEqual(idx.fields, it.fields)))\n\t\t\t\t.map(index => createIndexModification.createModification({\n\t\t\t\t\tentityName: entity.name,\n\t\t\t\t\tindex,\n\t\t\t\t})),\n\t\t)\n\t}\n}\n"],"names":["getIndexColumns","wrapIdentifier","updateModel","updateEntity","createModificationType"],"mappings":";;;;;;;AAaO,MAAM,+BAA2F;AAAA,EACvG,YAA6B,MAAoD,QAAgB;AAApE,SAAA,OAAA;AAAoD,SAAA,SAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"CreateIndexModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/indexes/CreateIndexModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'\nimport {\n\tcreateModificationType,\n\tDiffer,\n\tModificationHandler,\n\tModificationHandlerCreateSqlOptions,\n} from '../ModificationHandler'\nimport { wrapIdentifier } from '../../utils/dbHelpers'\nimport { getIndexColumns } from './utils'\nimport deepEqual from 'fast-deep-equal'\n\nexport class CreateIndexModificationHandler implements ModificationHandler<CreateIndexModificationData> {\n\tconstructor(private readonly data: CreateIndexModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder, { databaseMetadata, invalidateDatabaseMetadata }: ModificationHandlerCreateSqlOptions): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\t\tconst fields = this.data.index.fields\n\t\tconst columns = getIndexColumns({\n\t\t\tfields,\n\t\t\tentity,\n\t\t\tmodel: this.schema.model,\n\t\t})\n\n\t\tconst tableNameId = wrapIdentifier(entity.tableName)\n\t\tconst columnNameIds = columns.map(wrapIdentifier)\n\n\t\tbuilder.sql(`CREATE INDEX ON ${tableNameId} (${columnNameIds.join(', ')})`)\n\n\t\tinvalidateDatabaseMetadata()\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(\n\t\t\tupdateEntity(this.data.entityName, ({ entity }) => ({\n\t\t\t\t...entity,\n\t\t\t\tindexes: [\n\t\t\t\t\t...entity.indexes,\n\t\t\t\t\tthis.data.index,\n\t\t\t\t],\n\t\t\t})),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn {\n\t\t\tmessage: `Create index(${this.data.index.fields.join(', ')}) on entity ${this.data.entityName}`,\n\t\t}\n\t}\n}\n\nexport const createIndexModification = createModificationType({\n\tid: 'createIndex',\n\thandler: CreateIndexModificationHandler,\n})\n\nexport interface CreateIndexModificationData {\n\tentityName: string\n\tindex: Model.Index\n}\n\nexport class CreateIndexDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.values(updatedSchema.model.entities).flatMap(entity =>\n\t\t\tentity.indexes\n\t\t\t\t.filter(it => !originalSchema.model.entities[entity.name].indexes.find(idx => deepEqual(idx.fields, it.fields)))\n\t\t\t\t.map(index => createIndexModification.createModification({\n\t\t\t\t\tentityName: entity.name,\n\t\t\t\t\tindex,\n\t\t\t\t})),\n\t\t)\n\t}\n}\n"],"names":["getIndexColumns","wrapIdentifier","updateModel","updateEntity","createModificationType"],"mappings":";;;;;;;AAaO,MAAM,+BAA2F;AAAA,EACvG,YAA6B,MAAoD,QAAgB;AAApE,SAAA,OAAA;AAAoD,SAAA,SAAA;AAAA,EAAA;AAAA,EAE1E,UAAU,SAA2B,EAAE,kBAAkB,8BAAyE;AACxI,UAAM,SAAS,KAAK,OAAO,MAAM,SAAS,KAAK,KAAK,UAAU;AAC9D,QAAI,OAAO,MAAM;AAChB;AAAA,IAAA;AAEK,UAAA,SAAS,KAAK,KAAK,MAAM;AAC/B,UAAM,UAAUA,MAAAA,gBAAgB;AAAA,MAC/B;AAAA,MACA;AAAA,MACA,OAAO,KAAK,OAAO;AAAA,IAAA,CACnB;AAEK,UAAA,cAAcC,UAAAA,eAAe,OAAO,SAAS;AAC7C,UAAA,gBAAgB,QAAQ,IAAIA,wBAAc;AAExC,YAAA,IAAI,mBAAmB,WAAW,KAAK,cAAc,KAAK,IAAI,CAAC,GAAG;AAE/C,+BAAA;AAAA,EAAA;AAAA,EAGrB,mBAAkC;AACjC,WAAAC,kBAAA;AAAA,MACNC,+BAAa,KAAK,KAAK,YAAY,CAAC,EAAE,cAAc;AAAA,QACnD,GAAG;AAAA,QACH,SAAS;AAAA,UACR,GAAG,OAAO;AAAA,UACV,KAAK,KAAK;AAAA,QAAA;AAAA,MACX,EACC;AAAA,IACH;AAAA,EAAA;AAAA,EAGD,WAAW;AACH,WAAA;AAAA,MACN,SAAS,gBAAgB,KAAK,KAAK,MAAM,OAAO,KAAK,IAAI,CAAC,eAAe,KAAK,KAAK,UAAU;AAAA,IAC9F;AAAA,EAAA;AAEF;AAEO,MAAM,0BAA0BC,oBAAAA,uBAAuB;AAAA,EAC7D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAOM,MAAM,kBAAoC;AAAA,EAChD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,OAAO,cAAc,MAAM,QAAQ,EAAE;AAAA,MAAQ,CAAA,WAC1D,OAAO,QACL,OAAO,CAAA,OAAM,CAAC,eAAe,MAAM,SAAS,OAAO,IAAI,EAAE,QAAQ,KAAK,CAAO,QAAA,UAAU,IAAI,QAAQ,GAAG,MAAM,CAAC,CAAC,EAC9G,IAAI,CAAS,UAAA,wBAAwB,mBAAmB;AAAA,QACxD,YAAY,OAAO;AAAA,QACnB;AAAA,MAAA,CACA,CAAC;AAAA,IACJ;AAAA,EAAA;AAEF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateIndexModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/indexes/CreateIndexModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'\nimport {\n\tcreateModificationType,\n\tDiffer,\n\tModificationHandler,\n\tModificationHandlerCreateSqlOptions,\n} from '../ModificationHandler'\nimport { wrapIdentifier } from '../../utils/dbHelpers'\nimport { getIndexColumns } from './utils'\nimport deepEqual from 'fast-deep-equal'\n\nexport class CreateIndexModificationHandler implements ModificationHandler<CreateIndexModificationData> {\n\tconstructor(private readonly data: CreateIndexModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder, { databaseMetadata, invalidateDatabaseMetadata }: ModificationHandlerCreateSqlOptions): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\t\tconst fields = this.data.index.fields\n\t\tconst columns = getIndexColumns({\n\t\t\tfields,\n\t\t\tentity,\n\t\t\tmodel: this.schema.model,\n\t\t})\n\n\t\tconst tableNameId = wrapIdentifier(entity.tableName)\n\t\tconst columnNameIds = columns.map(wrapIdentifier)\n\n\t\tbuilder.sql(`CREATE INDEX ON ${tableNameId} (${columnNameIds.join(', ')})`)\n\n\t\tinvalidateDatabaseMetadata()\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(\n\t\t\tupdateEntity(this.data.entityName, ({ entity }) => ({\n\t\t\t\t...entity,\n\t\t\t\tindexes: [\n\t\t\t\t\t...entity.indexes,\n\t\t\t\t\tthis.data.index,\n\t\t\t\t],\n\t\t\t})),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn {\n\t\t\tmessage: `Create index(${this.data.index.fields.join(', ')}) on entity ${this.data.entityName}`,\n\t\t}\n\t}\n}\n\nexport const createIndexModification = createModificationType({\n\tid: 'createIndex',\n\thandler: CreateIndexModificationHandler,\n})\n\nexport interface CreateIndexModificationData {\n\tentityName: string\n\tindex: Model.Index\n}\n\nexport class CreateIndexDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.values(updatedSchema.model.entities).flatMap(entity =>\n\t\t\tentity.indexes\n\t\t\t\t.filter(it => !originalSchema.model.entities[entity.name].indexes.find(idx => deepEqual(idx.fields, it.fields)))\n\t\t\t\t.map(index => createIndexModification.createModification({\n\t\t\t\t\tentityName: entity.name,\n\t\t\t\t\tindex,\n\t\t\t\t})),\n\t\t)\n\t}\n}\n"],"names":[],"mappings":";;;;;AAaO,MAAM,+BAA2F;AAAA,EACvG,YAA6B,MAAoD,QAAgB;AAApE,SAAA,OAAA;AAAoD,SAAA,SAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"CreateIndexModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/indexes/CreateIndexModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'\nimport {\n\tcreateModificationType,\n\tDiffer,\n\tModificationHandler,\n\tModificationHandlerCreateSqlOptions,\n} from '../ModificationHandler'\nimport { wrapIdentifier } from '../../utils/dbHelpers'\nimport { getIndexColumns } from './utils'\nimport deepEqual from 'fast-deep-equal'\n\nexport class CreateIndexModificationHandler implements ModificationHandler<CreateIndexModificationData> {\n\tconstructor(private readonly data: CreateIndexModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder, { databaseMetadata, invalidateDatabaseMetadata }: ModificationHandlerCreateSqlOptions): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\t\tconst fields = this.data.index.fields\n\t\tconst columns = getIndexColumns({\n\t\t\tfields,\n\t\t\tentity,\n\t\t\tmodel: this.schema.model,\n\t\t})\n\n\t\tconst tableNameId = wrapIdentifier(entity.tableName)\n\t\tconst columnNameIds = columns.map(wrapIdentifier)\n\n\t\tbuilder.sql(`CREATE INDEX ON ${tableNameId} (${columnNameIds.join(', ')})`)\n\n\t\tinvalidateDatabaseMetadata()\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(\n\t\t\tupdateEntity(this.data.entityName, ({ entity }) => ({\n\t\t\t\t...entity,\n\t\t\t\tindexes: [\n\t\t\t\t\t...entity.indexes,\n\t\t\t\t\tthis.data.index,\n\t\t\t\t],\n\t\t\t})),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn {\n\t\t\tmessage: `Create index(${this.data.index.fields.join(', ')}) on entity ${this.data.entityName}`,\n\t\t}\n\t}\n}\n\nexport const createIndexModification = createModificationType({\n\tid: 'createIndex',\n\thandler: CreateIndexModificationHandler,\n})\n\nexport interface CreateIndexModificationData {\n\tentityName: string\n\tindex: Model.Index\n}\n\nexport class CreateIndexDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.values(updatedSchema.model.entities).flatMap(entity =>\n\t\t\tentity.indexes\n\t\t\t\t.filter(it => !originalSchema.model.entities[entity.name].indexes.find(idx => deepEqual(idx.fields, it.fields)))\n\t\t\t\t.map(index => createIndexModification.createModification({\n\t\t\t\t\tentityName: entity.name,\n\t\t\t\t\tindex,\n\t\t\t\t})),\n\t\t)\n\t}\n}\n"],"names":[],"mappings":";;;;;AAaO,MAAM,+BAA2F;AAAA,EACvG,YAA6B,MAAoD,QAAgB;AAApE,SAAA,OAAA;AAAoD,SAAA,SAAA;AAAA,EAAA;AAAA,EAE1E,UAAU,SAA2B,EAAE,kBAAkB,8BAAyE;AACxI,UAAM,SAAS,KAAK,OAAO,MAAM,SAAS,KAAK,KAAK,UAAU;AAC9D,QAAI,OAAO,MAAM;AAChB;AAAA,IAAA;AAEK,UAAA,SAAS,KAAK,KAAK,MAAM;AAC/B,UAAM,UAAU,gBAAgB;AAAA,MAC/B;AAAA,MACA;AAAA,MACA,OAAO,KAAK,OAAO;AAAA,IAAA,CACnB;AAEK,UAAA,cAAc,eAAe,OAAO,SAAS;AAC7C,UAAA,gBAAgB,QAAQ,IAAI,cAAc;AAExC,YAAA,IAAI,mBAAmB,WAAW,KAAK,cAAc,KAAK,IAAI,CAAC,GAAG;AAE/C,+BAAA;AAAA,EAAA;AAAA,EAGrB,mBAAkC;AACjC,WAAA;AAAA,MACN,aAAa,KAAK,KAAK,YAAY,CAAC,EAAE,cAAc;AAAA,QACnD,GAAG;AAAA,QACH,SAAS;AAAA,UACR,GAAG,OAAO;AAAA,UACV,KAAK,KAAK;AAAA,QAAA;AAAA,MACX,EACC;AAAA,IACH;AAAA,EAAA;AAAA,EAGD,WAAW;AACH,WAAA;AAAA,MACN,SAAS,gBAAgB,KAAK,KAAK,MAAM,OAAO,KAAK,IAAI,CAAC,eAAe,KAAK,KAAK,UAAU;AAAA,IAC9F;AAAA,EAAA;AAEF;AAEO,MAAM,0BAA0B,uBAAuB;AAAA,EAC7D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAOM,MAAM,kBAAoC;AAAA,EAChD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,OAAO,cAAc,MAAM,QAAQ,EAAE;AAAA,MAAQ,CAAA,WAC1D,OAAO,QACL,OAAO,CAAA,OAAM,CAAC,eAAe,MAAM,SAAS,OAAO,IAAI,EAAE,QAAQ,KAAK,CAAO,QAAA,UAAU,IAAI,QAAQ,GAAG,MAAM,CAAC,CAAC,EAC9G,IAAI,CAAS,UAAA,wBAAwB,mBAAmB;AAAA,QACxD,YAAY,OAAO;AAAA,QACnB;AAAA,MAAA,CACA,CAAC;AAAA,IACJ;AAAA,EAAA;AAEF;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoveIndexModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/indexes/RemoveIndexModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'\nimport {\n\tcreateModificationType,\n\tDiffer,\n\tModificationHandler,\n\tModificationHandlerCreateSqlOptions,\n} from '../ModificationHandler'\nimport deepEqual from 'fast-deep-equal'\nimport { getIndexColumns } from './utils'\nimport { wrapIdentifier } from '../../utils/dbHelpers'\n\nexport class RemoveIndexModificationHandler implements ModificationHandler<RemoveIndexModificationData> {\n\tconstructor(private readonly data: RemoveIndexModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder, { databaseMetadata, invalidateDatabaseMetadata }: ModificationHandlerCreateSqlOptions): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\t\tconst fields = this.getFields()\n\n\t\tconst columns = getIndexColumns({\n\t\t\tentity,\n\t\t\tfields,\n\t\t\tmodel: this.schema.model,\n\t\t})\n\n\t\tconst indexNames = databaseMetadata.indexes.filter({ tableName: entity.tableName, columnNames: columns }).getNames()\n\n\t\tfor (const name of indexNames) {\n\t\t\tbuilder.sql(`DROP INDEX ${wrapIdentifier(name)}`)\n\t\t}\n\t\tinvalidateDatabaseMetadata()\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst fields = this.getFields()\n\t\treturn updateModel(\n\t\t\tupdateEntity(this.data.entityName, ({ entity }) => {\n\t\t\t\tconst indexes = entity.indexes.filter(it => !deepEqual(it.fields, fields))\n\t\t\t\treturn {\n\t\t\t\t\t...entity,\n\t\t\t\t\tindexes,\n\t\t\t\t}\n\t\t\t}),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\tconst fields = this.getFields()\n\t\treturn { message: `Remove index (${fields.join(', ')}) on entity ${this.data.entityName}` }\n\t}\n\n\tgetFields() {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tconst fields = 'indexName' in this.data\n\t\t\t? entity.indexes.find(it => it.name === this.data.indexName)?.fields\n\t\t\t: this.data.fields\n\t\tif (!fields) {\n\t\t\tthrow new Error()\n\t\t}\n\t\treturn fields\n\t}\n}\n\nexport const removeIndexModification = createModificationType({\n\tid: 'removeIndex',\n\thandler: RemoveIndexModificationHandler,\n})\n\n\nexport type RemoveIndexModificationData =\n\t| {\n\t\tentityName: string\n\t\tindexName: string\n\t\tfields?: never\n\t}\n\t| {\n\t\tentityName: string\n\t\tfields: readonly string[]\n\t\tindexName?: never\n\t}\n\nexport class RemoveIndexDiffer implements Differ {\n\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.values(originalSchema.model.entities).flatMap(entity =>\n\t\t\tentity.indexes\n\t\t\t\t.filter(\n\t\t\t\t\tit => {\n\t\t\t\t\t\tconst updatedEntity = updatedSchema.model.entities[entity.name]\n\t\t\t\t\t\tif (!updatedEntity) {\n\t\t\t\t\t\t\treturn false\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn !updatedEntity.indexes.find(index => deepEqual(index.fields, it.fields))\n\t\t\t\t\t},\n\t\t\t\t)\n\t\t\t\t.map(index =>\n\t\t\t\t\tremoveIndexModification.createModification({\n\t\t\t\t\t\tentityName: entity.name,\n\t\t\t\t\t\tfields: index.fields,\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t)\n\t}\n}\n"],"names":["getIndexColumns","wrapIdentifier","updateModel","updateEntity","createModificationType"],"mappings":";;;;;;;AAaO,MAAM,+BAA4F;AAAA,EACxG,YAA6B,MAAoD,QAAgB;AAApE,SAAA,OAAA;AAAoD,SAAA,SAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"RemoveIndexModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/indexes/RemoveIndexModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'\nimport {\n\tcreateModificationType,\n\tDiffer,\n\tModificationHandler,\n\tModificationHandlerCreateSqlOptions,\n} from '../ModificationHandler'\nimport deepEqual from 'fast-deep-equal'\nimport { getIndexColumns } from './utils'\nimport { wrapIdentifier } from '../../utils/dbHelpers'\n\nexport class RemoveIndexModificationHandler implements ModificationHandler<RemoveIndexModificationData> {\n\tconstructor(private readonly data: RemoveIndexModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder, { databaseMetadata, invalidateDatabaseMetadata }: ModificationHandlerCreateSqlOptions): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\t\tconst fields = this.getFields()\n\n\t\tconst columns = getIndexColumns({\n\t\t\tentity,\n\t\t\tfields,\n\t\t\tmodel: this.schema.model,\n\t\t})\n\n\t\tconst indexNames = databaseMetadata.indexes.filter({ tableName: entity.tableName, columnNames: columns }).getNames()\n\n\t\tfor (const name of indexNames) {\n\t\t\tbuilder.sql(`DROP INDEX ${wrapIdentifier(name)}`)\n\t\t}\n\t\tinvalidateDatabaseMetadata()\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst fields = this.getFields()\n\t\treturn updateModel(\n\t\t\tupdateEntity(this.data.entityName, ({ entity }) => {\n\t\t\t\tconst indexes = entity.indexes.filter(it => !deepEqual(it.fields, fields))\n\t\t\t\treturn {\n\t\t\t\t\t...entity,\n\t\t\t\t\tindexes,\n\t\t\t\t}\n\t\t\t}),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\tconst fields = this.getFields()\n\t\treturn { message: `Remove index (${fields.join(', ')}) on entity ${this.data.entityName}` }\n\t}\n\n\tgetFields() {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tconst fields = 'indexName' in this.data\n\t\t\t? entity.indexes.find(it => it.name === this.data.indexName)?.fields\n\t\t\t: this.data.fields\n\t\tif (!fields) {\n\t\t\tthrow new Error()\n\t\t}\n\t\treturn fields\n\t}\n}\n\nexport const removeIndexModification = createModificationType({\n\tid: 'removeIndex',\n\thandler: RemoveIndexModificationHandler,\n})\n\n\nexport type RemoveIndexModificationData =\n\t| {\n\t\tentityName: string\n\t\tindexName: string\n\t\tfields?: never\n\t}\n\t| {\n\t\tentityName: string\n\t\tfields: readonly string[]\n\t\tindexName?: never\n\t}\n\nexport class RemoveIndexDiffer implements Differ {\n\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.values(originalSchema.model.entities).flatMap(entity =>\n\t\t\tentity.indexes\n\t\t\t\t.filter(\n\t\t\t\t\tit => {\n\t\t\t\t\t\tconst updatedEntity = updatedSchema.model.entities[entity.name]\n\t\t\t\t\t\tif (!updatedEntity) {\n\t\t\t\t\t\t\treturn false\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn !updatedEntity.indexes.find(index => deepEqual(index.fields, it.fields))\n\t\t\t\t\t},\n\t\t\t\t)\n\t\t\t\t.map(index =>\n\t\t\t\t\tremoveIndexModification.createModification({\n\t\t\t\t\t\tentityName: entity.name,\n\t\t\t\t\t\tfields: index.fields,\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t)\n\t}\n}\n"],"names":["getIndexColumns","wrapIdentifier","updateModel","updateEntity","createModificationType"],"mappings":";;;;;;;AAaO,MAAM,+BAA4F;AAAA,EACxG,YAA6B,MAAoD,QAAgB;AAApE,SAAA,OAAA;AAAoD,SAAA,SAAA;AAAA,EAAA;AAAA,EAE1E,UAAU,SAA2B,EAAE,kBAAkB,8BAAyE;AACxI,UAAM,SAAS,KAAK,OAAO,MAAM,SAAS,KAAK,KAAK,UAAU;AAC9D,QAAI,OAAO,MAAM;AAChB;AAAA,IAAA;AAEK,UAAA,SAAS,KAAK,UAAU;AAE9B,UAAM,UAAUA,MAAAA,gBAAgB;AAAA,MAC/B;AAAA,MACA;AAAA,MACA,OAAO,KAAK,OAAO;AAAA,IAAA,CACnB;AAED,UAAM,aAAa,iBAAiB,QAAQ,OAAO,EAAE,WAAW,OAAO,WAAW,aAAa,QAAS,CAAA,EAAE,SAAS;AAEnH,eAAW,QAAQ,YAAY;AAC9B,cAAQ,IAAI,cAAcC,UAAAA,eAAe,IAAI,CAAC,EAAE;AAAA,IAAA;AAEtB,+BAAA;AAAA,EAAA;AAAA,EAGrB,mBAAkC;AAClC,UAAA,SAAS,KAAK,UAAU;AACvB,WAAAC,kBAAA;AAAA,MACNC,+BAAa,KAAK,KAAK,YAAY,CAAC,EAAE,aAAa;AAC5C,cAAA,UAAU,OAAO,QAAQ,OAAO,CAAA,OAAM,CAAC,UAAU,GAAG,QAAQ,MAAM,CAAC;AAClE,eAAA;AAAA,UACN,GAAG;AAAA,UACH;AAAA,QACD;AAAA,MACA,CAAA;AAAA,IACF;AAAA,EAAA;AAAA,EAGD,WAAW;AACJ,UAAA,SAAS,KAAK,UAAU;AACvB,WAAA,EAAE,SAAS,iBAAiB,OAAO,KAAK,IAAI,CAAC,eAAe,KAAK,KAAK,UAAU,GAAG;AAAA,EAAA;AAAA,EAG3F,YAAY;AACX,UAAM,SAAS,KAAK,OAAO,MAAM,SAAS,KAAK,KAAK,UAAU;AAC9D,UAAM,SAAS,eAAe,KAAK,OAChC,OAAO,QAAQ,KAAK,CAAA,OAAM,GAAG,SAAS,KAAK,KAAK,SAAS,GAAG,SAC5D,KAAK,KAAK;AACb,QAAI,CAAC,QAAQ;AACZ,YAAM,IAAI,MAAM;AAAA,IAAA;AAEV,WAAA;AAAA,EAAA;AAET;AAEO,MAAM,0BAA0BC,oBAAAA,uBAAuB;AAAA,EAC7D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAeM,MAAM,kBAAoC;AAAA,EAEhD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,OAAO,eAAe,MAAM,QAAQ,EAAE;AAAA,MAAQ,CAAA,WAC3D,OAAO,QACL;AAAA,QACA,CAAM,OAAA;AACL,gBAAM,gBAAgB,cAAc,MAAM,SAAS,OAAO,IAAI;AAC9D,cAAI,CAAC,eAAe;AACZ,mBAAA;AAAA,UAAA;AAED,iBAAA,CAAC,cAAc,QAAQ,KAAK,CAAA,UAAS,UAAU,MAAM,QAAQ,GAAG,MAAM,CAAC;AAAA,QAAA;AAAA,MAC/E,EAEA;AAAA,QAAI,CAAA,UACJ,wBAAwB,mBAAmB;AAAA,UAC1C,YAAY,OAAO;AAAA,UACnB,QAAQ,MAAM;AAAA,QACd,CAAA;AAAA,MAAA;AAAA,IAEJ;AAAA,EAAA;AAEF;;;;"}
|