@contember/schema-migrations 2.1.0-beta.2 → 2.2.0-alpha.2
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/index.cjs +3 -0
- package/dist/development/index.cjs.map +1 -1
- package/dist/development/index.js +3 -0
- package/dist/development/index.js.map +1 -1
- package/dist/development/src/MigrationDescriber.cjs.map +1 -1
- package/dist/development/src/MigrationDescriber.js.map +1 -1
- package/dist/development/src/SchemaDiffer.cjs +27 -12
- package/dist/development/src/SchemaDiffer.cjs.map +1 -1
- package/dist/development/src/SchemaDiffer.js +27 -12
- 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 +2 -0
- package/dist/development/src/modifications/ModificationHandlerFactory.cjs.map +1 -1
- package/dist/development/src/modifications/ModificationHandlerFactory.js +2 -0
- 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/PatchTriggerModification.cjs.map +1 -1
- package/dist/development/src/modifications/actions/PatchTriggerModification.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/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 +4 -1
- package/dist/development/src/modifications/differs/RemoveViewDiffer.cjs.map +1 -1
- package/dist/development/src/modifications/differs/RemoveViewDiffer.js +5 -2
- package/dist/development/src/modifications/differs/RemoveViewDiffer.js.map +1 -1
- package/dist/development/src/modifications/differs/UpdateViewDiffer.cjs +45 -0
- package/dist/development/src/modifications/differs/UpdateViewDiffer.cjs.map +1 -0
- package/dist/development/src/modifications/differs/UpdateViewDiffer.js +45 -0
- package/dist/development/src/modifications/differs/UpdateViewDiffer.js.map +1 -0
- 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/enums/enumUtils.js.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 +10 -4
- package/dist/development/src/modifications/fields/UpdateFieldNameModification.cjs.map +1 -1
- package/dist/development/src/modifications/fields/UpdateFieldNameModification.js +10 -4
- package/dist/development/src/modifications/fields/UpdateFieldNameModification.js.map +1 -1
- package/dist/development/src/modifications/indexes/CreateIndexModification.cjs +23 -7
- package/dist/development/src/modifications/indexes/CreateIndexModification.cjs.map +1 -1
- package/dist/development/src/modifications/indexes/CreateIndexModification.js +23 -7
- package/dist/development/src/modifications/indexes/CreateIndexModification.js.map +1 -1
- package/dist/development/src/modifications/indexes/RemoveIndexModification.cjs +52 -17
- package/dist/development/src/modifications/indexes/RemoveIndexModification.cjs.map +1 -1
- package/dist/development/src/modifications/indexes/RemoveIndexModification.js +52 -17
- package/dist/development/src/modifications/indexes/RemoveIndexModification.js.map +1 -1
- package/dist/development/src/modifications/relations/ConvertManyHasManyToJoiningEntityModification.cjs +140 -0
- package/dist/development/src/modifications/relations/ConvertManyHasManyToJoiningEntityModification.cjs.map +1 -0
- package/dist/development/src/modifications/relations/ConvertManyHasManyToJoiningEntityModification.js +140 -0
- package/dist/development/src/modifications/relations/ConvertManyHasManyToJoiningEntityModification.js.map +1 -0
- 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/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/viewDependencies.cjs +15 -1
- package/dist/development/src/modifications/utils/viewDependencies.cjs.map +1 -1
- package/dist/development/src/modifications/utils/viewDependencies.js +16 -2
- 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/production/index.cjs +3 -0
- package/dist/production/index.cjs.map +1 -1
- package/dist/production/index.js +3 -0
- package/dist/production/index.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 +27 -12
- package/dist/production/src/SchemaDiffer.cjs.map +1 -1
- package/dist/production/src/SchemaDiffer.js +27 -12
- 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 +2 -0
- package/dist/production/src/modifications/ModificationHandlerFactory.cjs.map +1 -1
- package/dist/production/src/modifications/ModificationHandlerFactory.js +2 -0
- 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/PatchTriggerModification.cjs.map +1 -1
- package/dist/production/src/modifications/actions/PatchTriggerModification.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/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 +4 -1
- package/dist/production/src/modifications/differs/RemoveViewDiffer.cjs.map +1 -1
- package/dist/production/src/modifications/differs/RemoveViewDiffer.js +5 -2
- package/dist/production/src/modifications/differs/RemoveViewDiffer.js.map +1 -1
- package/dist/production/src/modifications/differs/UpdateViewDiffer.cjs +45 -0
- package/dist/production/src/modifications/differs/UpdateViewDiffer.cjs.map +1 -0
- package/dist/production/src/modifications/differs/UpdateViewDiffer.js +45 -0
- package/dist/production/src/modifications/differs/UpdateViewDiffer.js.map +1 -0
- 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/enums/enumUtils.js.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 +10 -4
- package/dist/production/src/modifications/fields/UpdateFieldNameModification.cjs.map +1 -1
- package/dist/production/src/modifications/fields/UpdateFieldNameModification.js +10 -4
- package/dist/production/src/modifications/fields/UpdateFieldNameModification.js.map +1 -1
- package/dist/production/src/modifications/indexes/CreateIndexModification.cjs +23 -7
- package/dist/production/src/modifications/indexes/CreateIndexModification.cjs.map +1 -1
- package/dist/production/src/modifications/indexes/CreateIndexModification.js +23 -7
- package/dist/production/src/modifications/indexes/CreateIndexModification.js.map +1 -1
- package/dist/production/src/modifications/indexes/RemoveIndexModification.cjs +52 -17
- package/dist/production/src/modifications/indexes/RemoveIndexModification.cjs.map +1 -1
- package/dist/production/src/modifications/indexes/RemoveIndexModification.js +52 -17
- package/dist/production/src/modifications/indexes/RemoveIndexModification.js.map +1 -1
- package/dist/production/src/modifications/relations/ConvertManyHasManyToJoiningEntityModification.cjs +140 -0
- package/dist/production/src/modifications/relations/ConvertManyHasManyToJoiningEntityModification.cjs.map +1 -0
- package/dist/production/src/modifications/relations/ConvertManyHasManyToJoiningEntityModification.js +140 -0
- package/dist/production/src/modifications/relations/ConvertManyHasManyToJoiningEntityModification.js.map +1 -0
- 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/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/viewDependencies.cjs +15 -1
- package/dist/production/src/modifications/utils/viewDependencies.cjs.map +1 -1
- package/dist/production/src/modifications/utils/viewDependencies.js +16 -2
- 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/tests/cases/integration/convertManyHasManyToJoiningEntity.test.d.ts +2 -0
- package/dist/tests/cases/integration/convertManyHasManyToJoiningEntity.test.d.ts.map +1 -0
- package/dist/tests/cases/integration/skipNonModelDiffers.test.d.ts +2 -0
- package/dist/tests/cases/integration/skipNonModelDiffers.test.d.ts.map +1 -0
- package/dist/tests/src/tests.d.ts +4 -3
- package/dist/tests/src/tests.d.ts.map +1 -1
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/dist/types/MigrationDescriber.d.ts +2 -2
- package/dist/types/MigrationDescriber.d.ts.map +1 -1
- package/dist/types/SchemaDiffer.d.ts +12 -5
- package/dist/types/SchemaDiffer.d.ts.map +1 -1
- package/dist/types/SchemaMigrator.d.ts +2 -2
- package/dist/types/SchemaMigrator.d.ts.map +1 -1
- package/dist/types/index.d.ts +6 -6
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/modifications/ModificationHandler.d.ts +2 -2
- package/dist/types/modifications/ModificationHandler.d.ts.map +1 -1
- package/dist/types/modifications/ModificationHandlerFactory.d.ts +1 -1
- package/dist/types/modifications/ModificationHandlerFactory.d.ts.map +1 -1
- package/dist/types/modifications/NoopModification.d.ts +2 -2
- package/dist/types/modifications/NoopModification.d.ts.map +1 -1
- package/dist/types/modifications/acl/PatchAclSchemaModification.d.ts +3 -3
- package/dist/types/modifications/acl/PatchAclSchemaModification.d.ts.map +1 -1
- package/dist/types/modifications/acl/UpdateAclSchemaModification.d.ts +4 -4
- package/dist/types/modifications/acl/UpdateAclSchemaModification.d.ts.map +1 -1
- package/dist/types/modifications/acl/index.d.ts +2 -2
- package/dist/types/modifications/acl/index.d.ts.map +1 -1
- package/dist/types/modifications/actions/CreateTargetModification.d.ts +4 -4
- package/dist/types/modifications/actions/CreateTargetModification.d.ts.map +1 -1
- package/dist/types/modifications/actions/CreateTriggerModification.d.ts +4 -4
- package/dist/types/modifications/actions/CreateTriggerModification.d.ts.map +1 -1
- package/dist/types/modifications/actions/PatchTriggerModification.d.ts +3 -3
- package/dist/types/modifications/actions/PatchTriggerModification.d.ts.map +1 -1
- package/dist/types/modifications/actions/RemoveTargetModification.d.ts +4 -4
- package/dist/types/modifications/actions/RemoveTargetModification.d.ts.map +1 -1
- package/dist/types/modifications/actions/RemoveTriggerModification.d.ts +4 -4
- package/dist/types/modifications/actions/RemoveTriggerModification.d.ts.map +1 -1
- package/dist/types/modifications/actions/UpdateTargetModification.d.ts +4 -4
- package/dist/types/modifications/actions/UpdateTargetModification.d.ts.map +1 -1
- package/dist/types/modifications/actions/UpdateTriggerModification.d.ts +4 -4
- package/dist/types/modifications/actions/UpdateTriggerModification.d.ts.map +1 -1
- package/dist/types/modifications/actions/index.d.ts +4 -4
- package/dist/types/modifications/actions/index.d.ts.map +1 -1
- package/dist/types/modifications/columns/CreateColumnModification.d.ts +4 -4
- package/dist/types/modifications/columns/CreateColumnModification.d.ts.map +1 -1
- package/dist/types/modifications/columns/UpdateColumnDefinitionModification.d.ts +4 -4
- package/dist/types/modifications/columns/UpdateColumnDefinitionModification.d.ts.map +1 -1
- package/dist/types/modifications/columns/UpdateColumnNameModification.d.ts +4 -4
- package/dist/types/modifications/columns/UpdateColumnNameModification.d.ts.map +1 -1
- package/dist/types/modifications/columns/index.d.ts +3 -3
- package/dist/types/modifications/columns/index.d.ts.map +1 -1
- package/dist/types/modifications/constraints/CreateUniqueConstraintModification.d.ts +4 -4
- package/dist/types/modifications/constraints/CreateUniqueConstraintModification.d.ts.map +1 -1
- package/dist/types/modifications/constraints/RemoveUniqueConstraintModification.d.ts +4 -4
- package/dist/types/modifications/constraints/RemoveUniqueConstraintModification.d.ts.map +1 -1
- package/dist/types/modifications/constraints/index.d.ts +3 -3
- package/dist/types/modifications/constraints/index.d.ts.map +1 -1
- package/dist/types/modifications/differs/RemoveChangedFieldDiffer.d.ts +2 -2
- package/dist/types/modifications/differs/RemoveChangedFieldDiffer.d.ts.map +1 -1
- package/dist/types/modifications/differs/RemoveViewDiffer.d.ts +14 -3
- package/dist/types/modifications/differs/RemoveViewDiffer.d.ts.map +1 -1
- package/dist/types/modifications/differs/UpdateViewDiffer.d.ts +19 -0
- package/dist/types/modifications/differs/UpdateViewDiffer.d.ts.map +1 -0
- package/dist/types/modifications/differs/index.d.ts +3 -2
- package/dist/types/modifications/differs/index.d.ts.map +1 -1
- package/dist/types/modifications/entities/CreateEntityModification.d.ts +4 -4
- package/dist/types/modifications/entities/CreateEntityModification.d.ts.map +1 -1
- package/dist/types/modifications/entities/CreateViewModification.d.ts +4 -4
- package/dist/types/modifications/entities/CreateViewModification.d.ts.map +1 -1
- package/dist/types/modifications/entities/RemoveEntityModification.d.ts +4 -4
- package/dist/types/modifications/entities/RemoveEntityModification.d.ts.map +1 -1
- package/dist/types/modifications/entities/ToggleEventLogModification.d.ts +4 -4
- package/dist/types/modifications/entities/ToggleEventLogModification.d.ts.map +1 -1
- package/dist/types/modifications/entities/UpdateEntityNameModification.d.ts +3 -3
- package/dist/types/modifications/entities/UpdateEntityNameModification.d.ts.map +1 -1
- package/dist/types/modifications/entities/UpdateEntityOrderByModification.d.ts +4 -4
- package/dist/types/modifications/entities/UpdateEntityOrderByModification.d.ts.map +1 -1
- package/dist/types/modifications/entities/UpdateEntityTableNameModification.d.ts +4 -4
- package/dist/types/modifications/entities/UpdateEntityTableNameModification.d.ts.map +1 -1
- package/dist/types/modifications/entities/UpdateViewModification.d.ts +3 -3
- package/dist/types/modifications/entities/UpdateViewModification.d.ts.map +1 -1
- package/dist/types/modifications/entities/index.d.ts +7 -7
- package/dist/types/modifications/entities/index.d.ts.map +1 -1
- package/dist/types/modifications/enums/CreateEnumModification.d.ts +4 -4
- package/dist/types/modifications/enums/CreateEnumModification.d.ts.map +1 -1
- package/dist/types/modifications/enums/RemoveEnumModification.d.ts +4 -4
- package/dist/types/modifications/enums/RemoveEnumModification.d.ts.map +1 -1
- package/dist/types/modifications/enums/UpdateEnumModification.d.ts +4 -4
- package/dist/types/modifications/enums/UpdateEnumModification.d.ts.map +1 -1
- package/dist/types/modifications/enums/index.d.ts +3 -3
- package/dist/types/modifications/enums/index.d.ts.map +1 -1
- package/dist/types/modifications/fields/RemoveFieldModification.d.ts +4 -4
- package/dist/types/modifications/fields/RemoveFieldModification.d.ts.map +1 -1
- package/dist/types/modifications/fields/UpdateFieldNameModification.d.ts +3 -3
- package/dist/types/modifications/fields/UpdateFieldNameModification.d.ts.map +1 -1
- package/dist/types/modifications/fields/index.d.ts +2 -2
- package/dist/types/modifications/fields/index.d.ts.map +1 -1
- package/dist/types/modifications/index.d.ts +13 -13
- package/dist/types/modifications/index.d.ts.map +1 -1
- package/dist/types/modifications/indexes/CreateIndexModification.d.ts +4 -4
- package/dist/types/modifications/indexes/CreateIndexModification.d.ts.map +1 -1
- package/dist/types/modifications/indexes/RemoveIndexModification.d.ts +18 -6
- package/dist/types/modifications/indexes/RemoveIndexModification.d.ts.map +1 -1
- package/dist/types/modifications/indexes/index.d.ts +2 -2
- package/dist/types/modifications/indexes/index.d.ts.map +1 -1
- package/dist/types/modifications/relations/ConvertManyHasManyToJoiningEntityModification.d.ts +52 -0
- package/dist/types/modifications/relations/ConvertManyHasManyToJoiningEntityModification.d.ts.map +1 -0
- package/dist/types/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.d.ts +5 -5
- package/dist/types/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.d.ts.map +1 -1
- package/dist/types/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.d.ts +4 -4
- package/dist/types/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.d.ts.map +1 -1
- package/dist/types/modifications/relations/ConvertOneToManyRelationModification.d.ts +4 -4
- package/dist/types/modifications/relations/ConvertOneToManyRelationModification.d.ts.map +1 -1
- package/dist/types/modifications/relations/CreateRelationInverseSideModification.d.ts +4 -4
- package/dist/types/modifications/relations/CreateRelationInverseSideModification.d.ts.map +1 -1
- package/dist/types/modifications/relations/CreateRelationModification.d.ts +5 -5
- package/dist/types/modifications/relations/CreateRelationModification.d.ts.map +1 -1
- package/dist/types/modifications/relations/DisableOrphanRemovalModification.d.ts +4 -4
- package/dist/types/modifications/relations/DisableOrphanRemovalModification.d.ts.map +1 -1
- package/dist/types/modifications/relations/EnableOrphanRemovalModification.d.ts +4 -4
- package/dist/types/modifications/relations/EnableOrphanRemovalModification.d.ts.map +1 -1
- package/dist/types/modifications/relations/MakeRelationNotNullModification.d.ts +4 -4
- package/dist/types/modifications/relations/MakeRelationNotNullModification.d.ts.map +1 -1
- package/dist/types/modifications/relations/MakeRelationNullableModification.d.ts +4 -4
- package/dist/types/modifications/relations/MakeRelationNullableModification.d.ts.map +1 -1
- package/dist/types/modifications/relations/ToggleJunctionEventLogModification.d.ts +4 -4
- package/dist/types/modifications/relations/ToggleJunctionEventLogModification.d.ts.map +1 -1
- package/dist/types/modifications/relations/UpdateRelationOnDeleteModification.d.ts +4 -4
- package/dist/types/modifications/relations/UpdateRelationOnDeleteModification.d.ts.map +1 -1
- package/dist/types/modifications/relations/UpdateRelationOrderByModification.d.ts +4 -4
- package/dist/types/modifications/relations/UpdateRelationOrderByModification.d.ts.map +1 -1
- package/dist/types/modifications/relations/index.d.ts +12 -11
- package/dist/types/modifications/relations/index.d.ts.map +1 -1
- package/dist/types/modifications/settings/UpdateSettingsModification.d.ts +4 -4
- package/dist/types/modifications/settings/UpdateSettingsModification.d.ts.map +1 -1
- package/dist/types/modifications/settings/index.d.ts +1 -1
- package/dist/types/modifications/settings/index.d.ts.map +1 -1
- package/dist/types/modifications/upgrade/RemoveIndexNamesModification.d.ts +3 -3
- package/dist/types/modifications/upgrade/RemoveIndexNamesModification.d.ts.map +1 -1
- package/dist/types/modifications/utils/diffUtils.d.ts +1 -1
- package/dist/types/modifications/utils/diffUtils.d.ts.map +1 -1
- package/dist/types/modifications/utils/viewDependencies.d.ts +11 -1
- package/dist/types/modifications/utils/viewDependencies.d.ts.map +1 -1
- package/dist/types/modifications/validation/PatchValidationSchemaModification.d.ts +3 -3
- package/dist/types/modifications/validation/PatchValidationSchemaModification.d.ts.map +1 -1
- package/dist/types/modifications/validation/UpdateValidationSchemaModification.d.ts +4 -4
- package/dist/types/modifications/validation/UpdateValidationSchemaModification.d.ts.map +1 -1
- package/dist/types/modifications/validation/index.d.ts +2 -2
- package/dist/types/modifications/validation/index.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -7
- package/src/MigrationDescriber.ts +2 -2
- package/src/SchemaDiffer.ts +52 -25
- package/src/SchemaMigrator.ts +2 -2
- package/src/index.ts +6 -6
- package/src/modifications/ModificationHandler.ts +2 -2
- package/src/modifications/ModificationHandlerFactory.ts +21 -19
- package/src/modifications/NoopModification.ts +2 -2
- package/src/modifications/acl/PatchAclSchemaModification.ts +3 -3
- package/src/modifications/acl/UpdateAclSchemaModification.ts +3 -3
- package/src/modifications/acl/index.ts +2 -2
- package/src/modifications/actions/CreateTargetModification.ts +2 -2
- package/src/modifications/actions/CreateTriggerModification.ts +2 -2
- package/src/modifications/actions/PatchTriggerModification.ts +3 -3
- package/src/modifications/actions/RemoveTargetModification.ts +2 -2
- package/src/modifications/actions/RemoveTriggerModification.ts +2 -2
- package/src/modifications/actions/UpdateTargetModification.ts +2 -2
- package/src/modifications/actions/UpdateTriggerModification.ts +3 -3
- package/src/modifications/actions/index.ts +4 -4
- package/src/modifications/columns/CreateColumnModification.ts +5 -5
- package/src/modifications/columns/UpdateColumnDefinitionModification.ts +6 -6
- package/src/modifications/columns/UpdateColumnNameModification.ts +3 -3
- package/src/modifications/columns/columnUtils.ts +1 -1
- package/src/modifications/columns/index.ts +3 -3
- package/src/modifications/constraints/CreateUniqueConstraintModification.ts +4 -4
- package/src/modifications/constraints/RemoveUniqueConstraintModification.ts +4 -4
- package/src/modifications/constraints/index.ts +3 -3
- package/src/modifications/differs/RemoveChangedFieldDiffer.ts +3 -3
- package/src/modifications/differs/RemoveViewDiffer.ts +17 -5
- package/src/modifications/differs/UpdateViewDiffer.ts +58 -0
- package/src/modifications/differs/index.ts +3 -2
- package/src/modifications/entities/CreateEntityModification.ts +5 -5
- package/src/modifications/entities/CreateViewModification.ts +3 -3
- package/src/modifications/entities/RemoveEntityModification.ts +4 -4
- package/src/modifications/entities/ToggleEventLogModification.ts +3 -3
- package/src/modifications/entities/UpdateEntityNameModification.ts +12 -7
- package/src/modifications/entities/UpdateEntityOrderByModification.ts +2 -2
- package/src/modifications/entities/UpdateEntityTableNameModification.ts +2 -2
- package/src/modifications/entities/UpdateViewModification.ts +2 -2
- package/src/modifications/entities/index.ts +7 -7
- package/src/modifications/enums/CreateEnumModification.ts +3 -3
- package/src/modifications/enums/RemoveEnumModification.ts +2 -2
- package/src/modifications/enums/UpdateEnumModification.ts +4 -4
- package/src/modifications/enums/enumUtils.ts +1 -1
- package/src/modifications/enums/index.ts +3 -3
- package/src/modifications/fields/RemoveFieldModification.ts +3 -3
- package/src/modifications/fields/UpdateFieldNameModification.ts +26 -10
- package/src/modifications/fields/index.ts +2 -2
- package/src/modifications/index.ts +13 -13
- package/src/modifications/indexes/CreateIndexModification.ts +47 -11
- package/src/modifications/indexes/RemoveIndexModification.ts +92 -23
- package/src/modifications/indexes/index.ts +2 -2
- package/src/modifications/relations/ConvertManyHasManyToJoiningEntityModification.ts +218 -0
- package/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.ts +7 -7
- package/src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.ts +6 -6
- package/src/modifications/relations/ConvertOneToManyRelationModification.ts +6 -6
- package/src/modifications/relations/CreateRelationInverseSideModification.ts +3 -3
- package/src/modifications/relations/CreateRelationModification.ts +9 -9
- package/src/modifications/relations/DisableOrphanRemovalModification.ts +3 -3
- package/src/modifications/relations/EnableOrphanRemovalModification.ts +3 -3
- package/src/modifications/relations/MakeRelationNotNullModification.ts +4 -4
- package/src/modifications/relations/MakeRelationNullableModification.ts +4 -4
- package/src/modifications/relations/ToggleJunctionEventLogModification.ts +5 -5
- package/src/modifications/relations/UpdateRelationOnDeleteModification.ts +5 -5
- package/src/modifications/relations/UpdateRelationOrderByModification.ts +3 -3
- package/src/modifications/relations/helpers.ts +1 -1
- package/src/modifications/relations/index.ts +12 -11
- package/src/modifications/settings/UpdateSettingsModification.ts +2 -2
- package/src/modifications/settings/index.ts +1 -1
- package/src/modifications/upgrade/RemoveIndexNamesModification.ts +2 -2
- package/src/modifications/utils/createJunctionTable.ts +3 -3
- package/src/modifications/utils/diffUtils.ts +2 -2
- package/src/modifications/utils/schemaUpdateUtils.ts +3 -3
- package/src/modifications/utils/viewDependencies.ts +26 -2
- package/src/modifications/validation/PatchValidationSchemaModification.ts +3 -3
- package/src/modifications/validation/UpdateValidationSchemaModification.ts +3 -3
- package/src/modifications/validation/index.ts +2 -2
- package/tests/cases/integration/convertManyHasManyToJoiningEntity.test.ts +339 -0
- package/tests/cases/integration/convertManyHasOneToOneHasOneRelation.test.ts +2 -2
- package/tests/cases/integration/convertOneHasManyToManyHasManyRelation.test.ts +2 -2
- package/tests/cases/integration/convertOneToManyRelation.test.ts +2 -2
- package/tests/cases/integration/createAndDropIndex.test.ts +482 -3
- package/tests/cases/integration/createColumn.test.ts +29 -2
- package/tests/cases/integration/createEntity.test.ts +2 -2
- package/tests/cases/integration/createEnum.test.ts +2 -2
- package/tests/cases/integration/createManyHasMany.test.ts +2 -2
- package/tests/cases/integration/createManyHasOne.test.ts +2 -2
- package/tests/cases/integration/createOneHasMany.test.ts +2 -2
- package/tests/cases/integration/createOneHasOne.test.ts +2 -2
- package/tests/cases/integration/createRelationInverseSide.test.ts +2 -2
- package/tests/cases/integration/createUnique.test.ts +3 -3
- package/tests/cases/integration/disableOrphanRemoval.test.ts +2 -2
- package/tests/cases/integration/enableOrphanRemoval.test.ts +2 -2
- package/tests/cases/integration/makeColumnNotNull.test.ts +2 -2
- package/tests/cases/integration/makeRelationNotNull.test.ts +2 -2
- package/tests/cases/integration/makeRelationNullable.test.ts +2 -2
- package/tests/cases/integration/patchAclSchema.test.ts +2 -2
- package/tests/cases/integration/patchTrigger.test.ts +1 -1
- package/tests/cases/integration/removeEntity.test.ts +2 -2
- package/tests/cases/integration/removeEnum.test.ts +2 -2
- package/tests/cases/integration/removeField.test.ts +3 -3
- package/tests/cases/integration/skipNonModelDiffers.test.ts +97 -0
- package/tests/cases/integration/toggleEventLog.test.ts +2 -2
- package/tests/cases/integration/toggleJunctionEventLog.test.ts +2 -2
- package/tests/cases/integration/updateColumnDefinition.test.ts +3 -3
- package/tests/cases/integration/updateEntityName.test.ts +2 -2
- package/tests/cases/integration/updateEntityOrderBy.test.ts +2 -2
- package/tests/cases/integration/updateEnum.test.ts +2 -2
- package/tests/cases/integration/updateFieldName.test.ts +38 -3
- package/tests/cases/integration/updateRelationOnDelete.test.ts +2 -2
- package/tests/cases/integration/updateRelationOrderBy.test.ts +2 -2
- package/tests/cases/integration/updateView.test.ts +221 -233
- package/tests/src/tests.ts +6 -4
|
@@ -24,6 +24,7 @@ const RemoveEnumModification = require("./src/modifications/enums/RemoveEnumModi
|
|
|
24
24
|
const UpdateEnumModification = require("./src/modifications/enums/UpdateEnumModification.cjs");
|
|
25
25
|
const RemoveFieldModification = require("./src/modifications/fields/RemoveFieldModification.cjs");
|
|
26
26
|
const UpdateFieldNameModification = require("./src/modifications/fields/UpdateFieldNameModification.cjs");
|
|
27
|
+
const ConvertManyHasManyToJoiningEntityModification = require("./src/modifications/relations/ConvertManyHasManyToJoiningEntityModification.cjs");
|
|
27
28
|
const ConvertOneHasManyToManyHasManyRelationModification = require("./src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.cjs");
|
|
28
29
|
const ConvertOneToManyRelationModification = require("./src/modifications/relations/ConvertOneToManyRelationModification.cjs");
|
|
29
30
|
const CreateRelationInverseSideModification = require("./src/modifications/relations/CreateRelationInverseSideModification.cjs");
|
|
@@ -103,6 +104,8 @@ exports.RemoveFieldModificationHandler = RemoveFieldModification.RemoveFieldModi
|
|
|
103
104
|
exports.removeFieldModification = RemoveFieldModification.removeFieldModification;
|
|
104
105
|
exports.UpdateFieldNameModificationHandler = UpdateFieldNameModification.UpdateFieldNameModificationHandler;
|
|
105
106
|
exports.updateFieldNameModification = UpdateFieldNameModification.updateFieldNameModification;
|
|
107
|
+
exports.ConvertManyHasManyToJoiningEntityModificationHandler = ConvertManyHasManyToJoiningEntityModification.ConvertManyHasManyToJoiningEntityModificationHandler;
|
|
108
|
+
exports.convertManyHasManyToJoiningEntityModification = ConvertManyHasManyToJoiningEntityModification.convertManyHasManyToJoiningEntityModification;
|
|
106
109
|
exports.ConvertOneHasManyToManyHasManyRelationDiffer = ConvertOneHasManyToManyHasManyRelationModification.ConvertOneHasManyToManyHasManyRelationDiffer;
|
|
107
110
|
exports.ConvertOneHasManyToManyHasManyRelationModificationHandler = ConvertOneHasManyToManyHasManyRelationModification.ConvertOneHasManyToManyHasManyRelationModificationHandler;
|
|
108
111
|
exports.convertOneHasManyToManyHasManyRelationModification = ConvertOneHasManyToManyHasManyRelationModification.convertOneHasManyToManyHasManyRelationModification;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -22,6 +22,7 @@ import { RemoveEnumDiffer, RemoveEnumModificationHandler, removeEnumModification
|
|
|
22
22
|
import { UpdateEnumDiffer, UpdateEnumModificationHandler, updateEnumModification } from "./src/modifications/enums/UpdateEnumModification.js";
|
|
23
23
|
import { RemoveFieldDiffer, RemoveFieldModificationHandler, removeFieldModification } from "./src/modifications/fields/RemoveFieldModification.js";
|
|
24
24
|
import { UpdateFieldNameModificationHandler, updateFieldNameModification } from "./src/modifications/fields/UpdateFieldNameModification.js";
|
|
25
|
+
import { ConvertManyHasManyToJoiningEntityModificationHandler, convertManyHasManyToJoiningEntityModification } from "./src/modifications/relations/ConvertManyHasManyToJoiningEntityModification.js";
|
|
25
26
|
import { ConvertOneHasManyToManyHasManyRelationDiffer, ConvertOneHasManyToManyHasManyRelationModificationHandler, convertOneHasManyToManyHasManyRelationModification } from "./src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.js";
|
|
26
27
|
import { ConvertOneToManyRelationDiffer, ConvertOneToManyRelationModificationHandler, convertOneToManyRelationModification } from "./src/modifications/relations/ConvertOneToManyRelationModification.js";
|
|
27
28
|
import { CreateRelationInverseSideDiffer, CreateRelationInverseSideModificationHandler, createRelationInverseSideModification } from "./src/modifications/relations/CreateRelationInverseSideModification.js";
|
|
@@ -42,6 +43,7 @@ import { SchemaUpdateError } from "./src/modifications/exceptions.js";
|
|
|
42
43
|
import { createEventTrigger, createEventTrxTrigger, dropEventTrigger, dropEventTrxTrigger } from "./src/modifications/utils/sqlUpdateUtils.js";
|
|
43
44
|
import { MigrationVersionHelper } from "@contember/engine-common";
|
|
44
45
|
export {
|
|
46
|
+
ConvertManyHasManyToJoiningEntityModificationHandler,
|
|
45
47
|
ConvertOneHasManyToManyHasManyRelationDiffer,
|
|
46
48
|
ConvertOneHasManyToManyHasManyRelationModificationHandler,
|
|
47
49
|
ConvertOneToManyRelationDiffer,
|
|
@@ -119,6 +121,7 @@ export {
|
|
|
119
121
|
VERSION_UPDATE_INDEX_FIELDS,
|
|
120
122
|
_REMOVED_VERSION_UPDATE_CONSTRAINT_NAME_ONE_HAS_ONE,
|
|
121
123
|
calculateMigrationChecksum,
|
|
124
|
+
convertManyHasManyToJoiningEntityModification,
|
|
122
125
|
convertOneHasManyToManyHasManyRelationModification,
|
|
123
126
|
convertOneToManyRelationModification,
|
|
124
127
|
createColumnModification,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MigrationDescriber.cjs","sources":["../../../../packages/schema-migrations/src/MigrationDescriber.ts"],"sourcesContent":["import {\n\tcreateEntityModification,\n\tcreateViewModification,\n\temptyModificationDescriptionContext,\n\tModificationDescription,\n\tModificationDescriptionContext,\n\tModificationHandler,\n\tModificationHandlerCreateSqlOptions,\n\tModificationHandlerFactory,\n\tModificationHandlerOptions,\n\tSchemaUpdateError,\n} from './modifications'\nimport { createMigrationBuilder } from '@contember/database-migrations'\nimport { Migration } from './Migration'\nimport { Schema } from '@contember/schema'\n\nexport interface ModificationDescriptionResult {\n\tmodification: Migration.Modification\n\tschema: Schema\n\tdescription: ModificationDescription\n\thandler: ModificationHandler<any>\n\tgetSql: (options: ModificationHandlerCreateSqlOptions) => string\n}\n\nexport class MigrationDescriber {\n\tconstructor(private readonly modificationHandlerFactory: ModificationHandlerFactory) {\n\t}\n\n\tpublic describeModification(\n\t\tschema: Schema,\n\t\tmodification: Migration.Modification,\n\t\toptions: ModificationHandlerOptions,\n\t\tmodificationDescriptionContext: ModificationDescriptionContext = emptyModificationDescriptionContext,\n\t): ModificationDescriptionResult {\n\t\tconst modificationHandler = this.modificationHandlerFactory.create(\n\t\t\tmodification.modification,\n\t\t\tmodification,\n\t\t\tschema,\n\t\t\toptions,\n\t\t)\n\t\ttry {\n\t\t\tschema = modificationHandler.getSchemaUpdater()({ schema })\n\t\t} catch (e) {\n\t\t\tif (!(e instanceof SchemaUpdateError)) {\n\t\t\t\tthrow e\n\t\t\t}\n\t\t\tthrow new SchemaUpdateError(e.message + '\\n for modification: \\n' + JSON.stringify(modification))\n\t\t}\n\t\treturn {\n\t\t\tmodification,\n\t\t\tschema,\n\t\t\tgetSql: options => {\n\t\t\t\tconst builder = createMigrationBuilder()\n\t\t\t\tmodificationHandler.createSql(builder, options)\n\t\t\t\treturn builder.getSql()\n\t\t\t},\n\t\t\tdescription: modificationHandler.describe(modificationDescriptionContext),\n\t\t\thandler: modificationHandler,\n\t\t}\n\t}\n\n\tpublic describeModifications(schema: Schema, migration: Migration): ModificationDescriptionResult[] {\n\t\tconst result = []\n\t\tconst createdEntities = []\n\t\tfor (const modification of migration.modifications) {\n\t\t\tif (modification.modification === createEntityModification.id || modification.modification === createViewModification.id) {\n\t\t\t\tcreatedEntities.push(modification.entity.name)\n\t\t\t}\n\t\t\tconst description = this.describeModification(\n\t\t\t\tschema,\n\t\t\t\tmodification,\n\t\t\t\t{\n\t\t\t\t\tformatVersion: migration.formatVersion,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcreatedEntities,\n\t\t\t\t},\n\t\t\t)\n\t\t\tschema = description.schema\n\t\t\tresult.push(description)\n\t\t}\n\t\treturn result\n\t}\n}\n"],"names":["emptyModificationDescriptionContext","SchemaUpdateError","options","createMigrationBuilder","createEntityModification","createViewModification"],"mappings":";;;;;;;;;;;;AAwBO,MAAM,mBAAmB;AAAA,EAC/B,YAA6B,4BAAwD;AAAxD,SAAA,6BAAA;AAAA,EAC7B;AAAA,EAEO,qBACN,QACA,cACA,SACA,iCAAiEA,oBAAAA,qCACjC;AAChC,UAAM,sBAAsB,KAAK,2BAA2B;AAAA,MAC3D,aAAa;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAED,QAAI;AACH,eAAS,oBAAoB,mBAAmB,EAAE,QAAQ;AAAA,IAC3D,SAAS,GAAG;AACX,UAAI,EAAE,aAAaC,WAAAA,oBAAoB;AACtC,cAAM;AAAA,MACP;AACA,YAAM,IAAIA,WAAAA,kBAAkB,EAAE,UAAU,4BAA4B,KAAK,UAAU,YAAY,CAAC;AAAA,IACjG;AACA,WAAO;AAAA,MACN;AAAA,MACA;AAAA,MACA,QAAQ,CAAAC,aAAW;AAClB,cAAM,UAAUC,mBAAAA,uBAAA;AAChB,4BAAoB,UAAU,SAASD,QAAO;AAC9C,eAAO,QAAQ,OAAA;AAAA,MAChB;AAAA,MACA,aAAa,oBAAoB,SAAS,8BAA8B;AAAA,MACxE,SAAS;AAAA,IAAA;AAAA,EAEX;AAAA,EAEO,sBAAsB,QAAgB,WAAuD;AACnG,UAAM,SAAS,CAAA;AACf,UAAM,kBAAkB,CAAA;AACxB,eAAW,gBAAgB,UAAU,eAAe;AACnD,UAAI,aAAa,iBAAiBE,kDAAyB,MAAM,aAAa,iBAAiBC,uBAAAA,uBAAuB,IAAI;AACzH,wBAAgB,KAAK,aAAa,OAAO,IAAI;AAAA,MAC9C;AACA,YAAM,cAAc,KAAK;AAAA,QACxB;AAAA,QACA;AAAA,QACA;AAAA,UACC,eAAe,UAAU;AAAA,QAAA;AAAA,QAE1B;AAAA,UACC;AAAA,QAAA;AAAA,MACD;AAED,eAAS,YAAY;AACrB,aAAO,KAAK,WAAW;AAAA,IACxB;AACA,WAAO;AAAA,EACR;AACD;;"}
|
|
1
|
+
{"version":3,"file":"MigrationDescriber.cjs","sources":["../../../../packages/schema-migrations/src/MigrationDescriber.ts"],"sourcesContent":["import {\n\tcreateEntityModification,\n\tcreateViewModification,\n\temptyModificationDescriptionContext,\n\tModificationDescription,\n\tModificationDescriptionContext,\n\tModificationHandler,\n\tModificationHandlerCreateSqlOptions,\n\tModificationHandlerFactory,\n\tModificationHandlerOptions,\n\tSchemaUpdateError,\n} from './modifications/index.js'\nimport { createMigrationBuilder } from '@contember/database-migrations'\nimport { Migration } from './Migration.js'\nimport { Schema } from '@contember/schema'\n\nexport interface ModificationDescriptionResult {\n\tmodification: Migration.Modification\n\tschema: Schema\n\tdescription: ModificationDescription\n\thandler: ModificationHandler<any>\n\tgetSql: (options: ModificationHandlerCreateSqlOptions) => string\n}\n\nexport class MigrationDescriber {\n\tconstructor(private readonly modificationHandlerFactory: ModificationHandlerFactory) {\n\t}\n\n\tpublic describeModification(\n\t\tschema: Schema,\n\t\tmodification: Migration.Modification,\n\t\toptions: ModificationHandlerOptions,\n\t\tmodificationDescriptionContext: ModificationDescriptionContext = emptyModificationDescriptionContext,\n\t): ModificationDescriptionResult {\n\t\tconst modificationHandler = this.modificationHandlerFactory.create(\n\t\t\tmodification.modification,\n\t\t\tmodification,\n\t\t\tschema,\n\t\t\toptions,\n\t\t)\n\t\ttry {\n\t\t\tschema = modificationHandler.getSchemaUpdater()({ schema })\n\t\t} catch (e) {\n\t\t\tif (!(e instanceof SchemaUpdateError)) {\n\t\t\t\tthrow e\n\t\t\t}\n\t\t\tthrow new SchemaUpdateError(e.message + '\\n for modification: \\n' + JSON.stringify(modification))\n\t\t}\n\t\treturn {\n\t\t\tmodification,\n\t\t\tschema,\n\t\t\tgetSql: options => {\n\t\t\t\tconst builder = createMigrationBuilder()\n\t\t\t\tmodificationHandler.createSql(builder, options)\n\t\t\t\treturn builder.getSql()\n\t\t\t},\n\t\t\tdescription: modificationHandler.describe(modificationDescriptionContext),\n\t\t\thandler: modificationHandler,\n\t\t}\n\t}\n\n\tpublic describeModifications(schema: Schema, migration: Migration): ModificationDescriptionResult[] {\n\t\tconst result = []\n\t\tconst createdEntities = []\n\t\tfor (const modification of migration.modifications) {\n\t\t\tif (modification.modification === createEntityModification.id || modification.modification === createViewModification.id) {\n\t\t\t\tcreatedEntities.push(modification.entity.name)\n\t\t\t}\n\t\t\tconst description = this.describeModification(\n\t\t\t\tschema,\n\t\t\t\tmodification,\n\t\t\t\t{\n\t\t\t\t\tformatVersion: migration.formatVersion,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcreatedEntities,\n\t\t\t\t},\n\t\t\t)\n\t\t\tschema = description.schema\n\t\t\tresult.push(description)\n\t\t}\n\t\treturn result\n\t}\n}\n"],"names":["emptyModificationDescriptionContext","SchemaUpdateError","options","createMigrationBuilder","createEntityModification","createViewModification"],"mappings":";;;;;;;;;;;;AAwBO,MAAM,mBAAmB;AAAA,EAC/B,YAA6B,4BAAwD;AAAxD,SAAA,6BAAA;AAAA,EAC7B;AAAA,EAEO,qBACN,QACA,cACA,SACA,iCAAiEA,oBAAAA,qCACjC;AAChC,UAAM,sBAAsB,KAAK,2BAA2B;AAAA,MAC3D,aAAa;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAED,QAAI;AACH,eAAS,oBAAoB,mBAAmB,EAAE,QAAQ;AAAA,IAC3D,SAAS,GAAG;AACX,UAAI,EAAE,aAAaC,WAAAA,oBAAoB;AACtC,cAAM;AAAA,MACP;AACA,YAAM,IAAIA,WAAAA,kBAAkB,EAAE,UAAU,4BAA4B,KAAK,UAAU,YAAY,CAAC;AAAA,IACjG;AACA,WAAO;AAAA,MACN;AAAA,MACA;AAAA,MACA,QAAQ,CAAAC,aAAW;AAClB,cAAM,UAAUC,mBAAAA,uBAAA;AAChB,4BAAoB,UAAU,SAASD,QAAO;AAC9C,eAAO,QAAQ,OAAA;AAAA,MAChB;AAAA,MACA,aAAa,oBAAoB,SAAS,8BAA8B;AAAA,MACxE,SAAS;AAAA,IAAA;AAAA,EAEX;AAAA,EAEO,sBAAsB,QAAgB,WAAuD;AACnG,UAAM,SAAS,CAAA;AACf,UAAM,kBAAkB,CAAA;AACxB,eAAW,gBAAgB,UAAU,eAAe;AACnD,UAAI,aAAa,iBAAiBE,kDAAyB,MAAM,aAAa,iBAAiBC,uBAAAA,uBAAuB,IAAI;AACzH,wBAAgB,KAAK,aAAa,OAAO,IAAI;AAAA,MAC9C;AACA,YAAM,cAAc,KAAK;AAAA,QACxB;AAAA,QACA;AAAA,QACA;AAAA,UACC,eAAe,UAAU;AAAA,QAAA;AAAA,QAE1B;AAAA,UACC;AAAA,QAAA;AAAA,MACD;AAED,eAAS,YAAY;AACrB,aAAO,KAAK,WAAW;AAAA,IACxB;AACA,WAAO;AAAA,EACR;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MigrationDescriber.js","sources":["../../../../packages/schema-migrations/src/MigrationDescriber.ts"],"sourcesContent":["import {\n\tcreateEntityModification,\n\tcreateViewModification,\n\temptyModificationDescriptionContext,\n\tModificationDescription,\n\tModificationDescriptionContext,\n\tModificationHandler,\n\tModificationHandlerCreateSqlOptions,\n\tModificationHandlerFactory,\n\tModificationHandlerOptions,\n\tSchemaUpdateError,\n} from './modifications'\nimport { createMigrationBuilder } from '@contember/database-migrations'\nimport { Migration } from './Migration'\nimport { Schema } from '@contember/schema'\n\nexport interface ModificationDescriptionResult {\n\tmodification: Migration.Modification\n\tschema: Schema\n\tdescription: ModificationDescription\n\thandler: ModificationHandler<any>\n\tgetSql: (options: ModificationHandlerCreateSqlOptions) => string\n}\n\nexport class MigrationDescriber {\n\tconstructor(private readonly modificationHandlerFactory: ModificationHandlerFactory) {\n\t}\n\n\tpublic describeModification(\n\t\tschema: Schema,\n\t\tmodification: Migration.Modification,\n\t\toptions: ModificationHandlerOptions,\n\t\tmodificationDescriptionContext: ModificationDescriptionContext = emptyModificationDescriptionContext,\n\t): ModificationDescriptionResult {\n\t\tconst modificationHandler = this.modificationHandlerFactory.create(\n\t\t\tmodification.modification,\n\t\t\tmodification,\n\t\t\tschema,\n\t\t\toptions,\n\t\t)\n\t\ttry {\n\t\t\tschema = modificationHandler.getSchemaUpdater()({ schema })\n\t\t} catch (e) {\n\t\t\tif (!(e instanceof SchemaUpdateError)) {\n\t\t\t\tthrow e\n\t\t\t}\n\t\t\tthrow new SchemaUpdateError(e.message + '\\n for modification: \\n' + JSON.stringify(modification))\n\t\t}\n\t\treturn {\n\t\t\tmodification,\n\t\t\tschema,\n\t\t\tgetSql: options => {\n\t\t\t\tconst builder = createMigrationBuilder()\n\t\t\t\tmodificationHandler.createSql(builder, options)\n\t\t\t\treturn builder.getSql()\n\t\t\t},\n\t\t\tdescription: modificationHandler.describe(modificationDescriptionContext),\n\t\t\thandler: modificationHandler,\n\t\t}\n\t}\n\n\tpublic describeModifications(schema: Schema, migration: Migration): ModificationDescriptionResult[] {\n\t\tconst result = []\n\t\tconst createdEntities = []\n\t\tfor (const modification of migration.modifications) {\n\t\t\tif (modification.modification === createEntityModification.id || modification.modification === createViewModification.id) {\n\t\t\t\tcreatedEntities.push(modification.entity.name)\n\t\t\t}\n\t\t\tconst description = this.describeModification(\n\t\t\t\tschema,\n\t\t\t\tmodification,\n\t\t\t\t{\n\t\t\t\t\tformatVersion: migration.formatVersion,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcreatedEntities,\n\t\t\t\t},\n\t\t\t)\n\t\t\tschema = description.schema\n\t\t\tresult.push(description)\n\t\t}\n\t\treturn result\n\t}\n}\n"],"names":["options"],"mappings":";;;;;;;;;;AAwBO,MAAM,mBAAmB;AAAA,EAC/B,YAA6B,4BAAwD;AAAxD,SAAA,6BAAA;AAAA,EAC7B;AAAA,EAEO,qBACN,QACA,cACA,SACA,iCAAiE,qCACjC;AAChC,UAAM,sBAAsB,KAAK,2BAA2B;AAAA,MAC3D,aAAa;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAED,QAAI;AACH,eAAS,oBAAoB,mBAAmB,EAAE,QAAQ;AAAA,IAC3D,SAAS,GAAG;AACX,UAAI,EAAE,aAAa,oBAAoB;AACtC,cAAM;AAAA,MACP;AACA,YAAM,IAAI,kBAAkB,EAAE,UAAU,4BAA4B,KAAK,UAAU,YAAY,CAAC;AAAA,IACjG;AACA,WAAO;AAAA,MACN;AAAA,MACA;AAAA,MACA,QAAQ,CAAAA,aAAW;AAClB,cAAM,UAAU,uBAAA;AAChB,4BAAoB,UAAU,SAASA,QAAO;AAC9C,eAAO,QAAQ,OAAA;AAAA,MAChB;AAAA,MACA,aAAa,oBAAoB,SAAS,8BAA8B;AAAA,MACxE,SAAS;AAAA,IAAA;AAAA,EAEX;AAAA,EAEO,sBAAsB,QAAgB,WAAuD;AACnG,UAAM,SAAS,CAAA;AACf,UAAM,kBAAkB,CAAA;AACxB,eAAW,gBAAgB,UAAU,eAAe;AACnD,UAAI,aAAa,iBAAiB,yBAAyB,MAAM,aAAa,iBAAiB,uBAAuB,IAAI;AACzH,wBAAgB,KAAK,aAAa,OAAO,IAAI;AAAA,MAC9C;AACA,YAAM,cAAc,KAAK;AAAA,QACxB;AAAA,QACA;AAAA,QACA;AAAA,UACC,eAAe,UAAU;AAAA,QAAA;AAAA,QAE1B;AAAA,UACC;AAAA,QAAA;AAAA,MACD;AAED,eAAS,YAAY;AACrB,aAAO,KAAK,WAAW;AAAA,IACxB;AACA,WAAO;AAAA,EACR;AACD;"}
|
|
1
|
+
{"version":3,"file":"MigrationDescriber.js","sources":["../../../../packages/schema-migrations/src/MigrationDescriber.ts"],"sourcesContent":["import {\n\tcreateEntityModification,\n\tcreateViewModification,\n\temptyModificationDescriptionContext,\n\tModificationDescription,\n\tModificationDescriptionContext,\n\tModificationHandler,\n\tModificationHandlerCreateSqlOptions,\n\tModificationHandlerFactory,\n\tModificationHandlerOptions,\n\tSchemaUpdateError,\n} from './modifications/index.js'\nimport { createMigrationBuilder } from '@contember/database-migrations'\nimport { Migration } from './Migration.js'\nimport { Schema } from '@contember/schema'\n\nexport interface ModificationDescriptionResult {\n\tmodification: Migration.Modification\n\tschema: Schema\n\tdescription: ModificationDescription\n\thandler: ModificationHandler<any>\n\tgetSql: (options: ModificationHandlerCreateSqlOptions) => string\n}\n\nexport class MigrationDescriber {\n\tconstructor(private readonly modificationHandlerFactory: ModificationHandlerFactory) {\n\t}\n\n\tpublic describeModification(\n\t\tschema: Schema,\n\t\tmodification: Migration.Modification,\n\t\toptions: ModificationHandlerOptions,\n\t\tmodificationDescriptionContext: ModificationDescriptionContext = emptyModificationDescriptionContext,\n\t): ModificationDescriptionResult {\n\t\tconst modificationHandler = this.modificationHandlerFactory.create(\n\t\t\tmodification.modification,\n\t\t\tmodification,\n\t\t\tschema,\n\t\t\toptions,\n\t\t)\n\t\ttry {\n\t\t\tschema = modificationHandler.getSchemaUpdater()({ schema })\n\t\t} catch (e) {\n\t\t\tif (!(e instanceof SchemaUpdateError)) {\n\t\t\t\tthrow e\n\t\t\t}\n\t\t\tthrow new SchemaUpdateError(e.message + '\\n for modification: \\n' + JSON.stringify(modification))\n\t\t}\n\t\treturn {\n\t\t\tmodification,\n\t\t\tschema,\n\t\t\tgetSql: options => {\n\t\t\t\tconst builder = createMigrationBuilder()\n\t\t\t\tmodificationHandler.createSql(builder, options)\n\t\t\t\treturn builder.getSql()\n\t\t\t},\n\t\t\tdescription: modificationHandler.describe(modificationDescriptionContext),\n\t\t\thandler: modificationHandler,\n\t\t}\n\t}\n\n\tpublic describeModifications(schema: Schema, migration: Migration): ModificationDescriptionResult[] {\n\t\tconst result = []\n\t\tconst createdEntities = []\n\t\tfor (const modification of migration.modifications) {\n\t\t\tif (modification.modification === createEntityModification.id || modification.modification === createViewModification.id) {\n\t\t\t\tcreatedEntities.push(modification.entity.name)\n\t\t\t}\n\t\t\tconst description = this.describeModification(\n\t\t\t\tschema,\n\t\t\t\tmodification,\n\t\t\t\t{\n\t\t\t\t\tformatVersion: migration.formatVersion,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcreatedEntities,\n\t\t\t\t},\n\t\t\t)\n\t\t\tschema = description.schema\n\t\t\tresult.push(description)\n\t\t}\n\t\treturn result\n\t}\n}\n"],"names":["options"],"mappings":";;;;;;;;;;AAwBO,MAAM,mBAAmB;AAAA,EAC/B,YAA6B,4BAAwD;AAAxD,SAAA,6BAAA;AAAA,EAC7B;AAAA,EAEO,qBACN,QACA,cACA,SACA,iCAAiE,qCACjC;AAChC,UAAM,sBAAsB,KAAK,2BAA2B;AAAA,MAC3D,aAAa;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAED,QAAI;AACH,eAAS,oBAAoB,mBAAmB,EAAE,QAAQ;AAAA,IAC3D,SAAS,GAAG;AACX,UAAI,EAAE,aAAa,oBAAoB;AACtC,cAAM;AAAA,MACP;AACA,YAAM,IAAI,kBAAkB,EAAE,UAAU,4BAA4B,KAAK,UAAU,YAAY,CAAC;AAAA,IACjG;AACA,WAAO;AAAA,MACN;AAAA,MACA;AAAA,MACA,QAAQ,CAAAA,aAAW;AAClB,cAAM,UAAU,uBAAA;AAChB,4BAAoB,UAAU,SAASA,QAAO;AAC9C,eAAO,QAAQ,OAAA;AAAA,MAChB;AAAA,MACA,aAAa,oBAAoB,SAAS,8BAA8B;AAAA,MACxE,SAAS;AAAA,IAAA;AAAA,EAEX;AAAA,EAEO,sBAAsB,QAAgB,WAAuD;AACnG,UAAM,SAAS,CAAA;AACf,UAAM,kBAAkB,CAAA;AACxB,eAAW,gBAAgB,UAAU,eAAe;AACnD,UAAI,aAAa,iBAAiB,yBAAyB,MAAM,aAAa,iBAAiB,uBAAuB,IAAI;AACzH,wBAAgB,KAAK,aAAa,OAAO,IAAI;AAAA,MAC9C;AACA,YAAM,cAAc,KAAK;AAAA,QACxB;AAAA,QACA;AAAA,QACA;AAAA,UACC,eAAe,UAAU;AAAA,QAAA;AAAA,QAE1B;AAAA,UACC;AAAA,QAAA;AAAA,MACD;AAED,eAAS,YAAY;AACrB,aAAO,KAAK,WAAW;AAAA,IACxB;AACA,WAAO;AAAA,EACR;AACD;"}
|
|
@@ -36,6 +36,7 @@ const UpdateValidationSchemaModification = require("./modifications/validation/U
|
|
|
36
36
|
require("./modifications/ModificationHandlerFactory.cjs");
|
|
37
37
|
const RemoveChangedFieldDiffer = require("./modifications/differs/RemoveChangedFieldDiffer.cjs");
|
|
38
38
|
const RemoveViewDiffer = require("./modifications/differs/RemoveViewDiffer.cjs");
|
|
39
|
+
const UpdateViewDiffer = require("./modifications/differs/UpdateViewDiffer.cjs");
|
|
39
40
|
const CreateIndexModification = require("./modifications/indexes/CreateIndexModification.cjs");
|
|
40
41
|
const RemoveIndexModification = require("./modifications/indexes/RemoveIndexModification.cjs");
|
|
41
42
|
const CreateTriggerModification = require("./modifications/actions/CreateTriggerModification.cjs");
|
|
@@ -54,7 +55,9 @@ class SchemaDiffer {
|
|
|
54
55
|
}
|
|
55
56
|
diffSchemas(originalSchema, updatedSchema, {
|
|
56
57
|
skipInitialSchemaValidation = false,
|
|
57
|
-
skipRecreateValidation = false
|
|
58
|
+
skipRecreateValidation = false,
|
|
59
|
+
skipNonModelDiffers = false,
|
|
60
|
+
recreateViews = false
|
|
58
61
|
} = {}) {
|
|
59
62
|
if (!skipInitialSchemaValidation) {
|
|
60
63
|
const originalErrors = schemaUtils.SchemaValidator.validate(originalSchema);
|
|
@@ -68,13 +71,13 @@ class SchemaDiffer {
|
|
|
68
71
|
}
|
|
69
72
|
const differs = [
|
|
70
73
|
new RemoveIndexNamesModification.RemoveIndexNamesDiffer(),
|
|
71
|
-
new UpdateSettingsModification.UpdateSettingsDiffer(),
|
|
74
|
+
...skipNonModelDiffers ? [] : [new UpdateSettingsModification.UpdateSettingsDiffer()],
|
|
72
75
|
new ConvertOneToManyRelationModification.ConvertOneToManyRelationDiffer(),
|
|
73
76
|
new ConvertOneHasManyToManyHasManyRelationModification.ConvertOneHasManyToManyHasManyRelationDiffer(),
|
|
74
77
|
new ConvertOneHasManyToOneHasOneRelationModification.ConvertOneHasManyToOneHasOneRelationDiffer(),
|
|
75
78
|
new RemoveUniqueConstraintModification.RemoveUniqueConstraintDiffer(),
|
|
76
79
|
new RemoveIndexModification.RemoveIndexDiffer(),
|
|
77
|
-
new RemoveViewDiffer.RemoveViewDiffer(),
|
|
80
|
+
new RemoveViewDiffer.RemoveViewDiffer(recreateViews),
|
|
78
81
|
new RemoveEntityModification.RemoveEntityDiffer(),
|
|
79
82
|
new RemoveFieldModification.RemoveFieldDiffer(),
|
|
80
83
|
new CreateEnumModification.CreateEnumDiffer(),
|
|
@@ -96,19 +99,24 @@ class SchemaDiffer {
|
|
|
96
99
|
new CreateColumnModification.CreateColumnDiffer(),
|
|
97
100
|
new CreateRelationModification.CreateRelationDiffer(),
|
|
98
101
|
new CreateViewModification.CreateViewDiffer(),
|
|
102
|
+
...recreateViews ? [] : [new UpdateViewDiffer.UpdateViewDiffer()],
|
|
99
103
|
new CreateRelationInverseSideModification.CreateRelationInverseSideDiffer(),
|
|
100
104
|
new CreateUniqueConstraintModification.CreateUniqueConstraintDiffer(),
|
|
101
105
|
new CreateIndexModification.CreateIndexDiffer(),
|
|
102
106
|
new RemoveEnumModification.RemoveEnumDiffer(),
|
|
103
|
-
|
|
104
|
-
|
|
107
|
+
...skipNonModelDiffers ? [] : [
|
|
108
|
+
new UpdateAclSchemaModification.UpdateAclSchemaDiffer(this.options),
|
|
109
|
+
new UpdateValidationSchemaModification.UpdateValidationSchemaDiffer(this.options)
|
|
110
|
+
],
|
|
105
111
|
new UpdateEntityOrderByModification.UpdateEntityOrderByDiffer(),
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
+
...skipNonModelDiffers ? [] : [
|
|
113
|
+
new UpdateTargetModification.UpdateTargetDiffer(),
|
|
114
|
+
new CreateTargetModification.CreateTargetDiffer(),
|
|
115
|
+
new UpdateTriggerModification.UpdateTriggerDiffer(this.options),
|
|
116
|
+
new CreateTriggerModification.CreateTriggerDiffer(),
|
|
117
|
+
new RemoveTriggerModification.RemoveTriggerDiffer(),
|
|
118
|
+
new RemoveTargetModification.RemoveTargetDiffer()
|
|
119
|
+
]
|
|
112
120
|
];
|
|
113
121
|
const diffs = [];
|
|
114
122
|
let appliedDiffsSchema = originalSchema;
|
|
@@ -118,7 +126,14 @@ class SchemaDiffer {
|
|
|
118
126
|
diffs.push(...differDiffs);
|
|
119
127
|
}
|
|
120
128
|
if (!skipRecreateValidation) {
|
|
121
|
-
const
|
|
129
|
+
const targetForCompare = skipNonModelDiffers ? {
|
|
130
|
+
...updatedSchema,
|
|
131
|
+
acl: appliedDiffsSchema.acl,
|
|
132
|
+
validation: appliedDiffsSchema.validation,
|
|
133
|
+
actions: appliedDiffsSchema.actions,
|
|
134
|
+
settings: appliedDiffsSchema.settings
|
|
135
|
+
} : updatedSchema;
|
|
136
|
+
const errors = schemaUtils.deepCompare(targetForCompare, appliedDiffsSchema, [], (path) => {
|
|
122
137
|
if (path[0] === "model" && path[1] === "entities" && (path[3] === "unique" || path[3] === "index")) {
|
|
123
138
|
return (a, b) => {
|
|
124
139
|
return schemaUtils.compareArraysIgnoreOrder(a, b, path);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaDiffer.cjs","sources":["../../../../packages/schema-migrations/src/SchemaDiffer.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport {\n\tcompareArraysIgnoreOrder,\n\tdeepCompare,\n\tisInverseRelation,\n\tisOwningRelation,\n\tisRelation,\n\tSchemaValidator,\n\tValidationError,\n} from '@contember/schema-utils'\nimport { SchemaMigrator } from './SchemaMigrator'\nimport { Migration } from './Migration'\nimport { ImplementationException } from './exceptions'\nimport {\n\tConvertOneHasManyToManyHasManyRelationDiffer,\n\tConvertOneToManyRelationDiffer,\n\tCreateColumnDiffer,\n\tCreateEntityDiffer,\n\tCreateEnumDiffer,\n\tCreateRelationDiffer,\n\tCreateRelationInverseSideDiffer,\n\tCreateUniqueConstraintDiffer,\n\tCreateViewDiffer,\n\tDiffer,\n\tDisableOrphanRemovalDiffer,\n\tEnableOrphanRemovalDiffer,\n\tMakeRelationNotNullDiffer,\n\tMakeRelationNullableDiffer,\n\tRemoveEntityDiffer,\n\tRemoveEnumDiffer,\n\tRemoveFieldDiffer,\n\tRemoveUniqueConstraintDiffer,\n\tToggleEventLogDiffer,\n\tToggleJunctionEventLogDiffer,\n\tUpdateAclSchemaDiffer,\n\tUpdateColumnDefinitionDiffer,\n\tUpdateColumnNameDiffer,\n\tUpdateEntityOrderByDiffer,\n\tUpdateEntityTableNameDiffer,\n\tUpdateEnumDiffer,\n\tUpdateRelationOnDeleteDiffer,\n\tUpdateRelationOrderByDiffer,\n\tUpdateValidationSchemaDiffer,\n\tVERSION_LATEST,\n} from './modifications'\nimport { RemoveChangedFieldDiffer, RemoveViewDiffer } from './modifications/differs'\nimport { CreateIndexDiffer, RemoveIndexDiffer } from './modifications/indexes'\nimport { CreateTriggerDiffer, RemoveTriggerDiffer, UpdateTriggerDiffer } from './modifications/actions'\nimport { UpdateTargetDiffer } from './modifications/actions/UpdateTargetModification'\nimport { CreateTargetDiffer } from './modifications/actions/CreateTargetModification'\nimport { RemoveTargetDiffer } from './modifications/actions/RemoveTargetModification'\nimport { UpdateSettingsDiffer } from './modifications/settings'\nimport { RemoveIndexNamesDiffer } from './modifications/upgrade/RemoveIndexNamesModification'\nimport { ConvertOneHasManyToOneHasOneRelationDiffer } from './modifications/relations/ConvertOneHasManyToOneHasOneRelationModification'\n\ntype DiffOptions = { skipRecreateValidation?: boolean; skipInitialSchemaValidation?: boolean }\n\nexport class SchemaDiffer {\n\tconstructor(\n\t\tprivate readonly schemaMigrator: SchemaMigrator,\n\t\tprivate readonly options?: {\n\t\t\tmaxPatchSize?: number\n\t\t},\n\t) {}\n\n\tdiffSchemas(originalSchema: Schema, updatedSchema: Schema, {\n\t\tskipInitialSchemaValidation = false,\n\t\tskipRecreateValidation = false,\n\t}: DiffOptions = {}): Migration.Modification[] {\n\t\tif (!skipInitialSchemaValidation) {\n\t\t\tconst originalErrors = SchemaValidator.validate(originalSchema)\n\t\t\tif (originalErrors.length > 0) {\n\t\t\t\tthrow new InvalidSchemaException('original schema is not valid', originalErrors)\n\t\t\t}\n\t\t}\n\t\tconst updatedErrors = SchemaValidator.validate(updatedSchema)\n\t\tif (updatedErrors.length > 0) {\n\t\t\tthrow new InvalidSchemaException('updated schema is not valid', updatedErrors)\n\t\t}\n\n\t\tconst differs: Differ[] = [\n\t\t\tnew RemoveIndexNamesDiffer(),\n\t\t\tnew UpdateSettingsDiffer(),\n\t\t\tnew ConvertOneToManyRelationDiffer(),\n\t\t\tnew ConvertOneHasManyToManyHasManyRelationDiffer(),\n\t\t\tnew ConvertOneHasManyToOneHasOneRelationDiffer(),\n\t\t\tnew RemoveUniqueConstraintDiffer(),\n\t\t\tnew RemoveIndexDiffer(),\n\t\t\tnew RemoveViewDiffer(),\n\t\t\tnew RemoveEntityDiffer(),\n\t\t\tnew RemoveFieldDiffer(),\n\t\t\tnew CreateEnumDiffer(),\n\t\t\tnew UpdateEntityTableNameDiffer(),\n\t\t\tnew ToggleEventLogDiffer(),\n\t\t\tnew ToggleJunctionEventLogDiffer(),\n\t\t\tnew UpdateColumnDefinitionDiffer(),\n\t\t\tnew UpdateColumnNameDiffer(),\n\t\t\tnew UpdateRelationOnDeleteDiffer(),\n\t\t\tnew MakeRelationNotNullDiffer(),\n\t\t\tnew MakeRelationNullableDiffer(),\n\t\t\tnew EnableOrphanRemovalDiffer(),\n\t\t\tnew DisableOrphanRemovalDiffer(),\n\t\t\tnew UpdateRelationOrderByDiffer(),\n\t\t\tnew UpdateEnumDiffer(),\n\t\t\tnew RemoveChangedFieldDiffer(it => !isRelation(it) || isOwningRelation(it)),\n\t\t\tnew RemoveChangedFieldDiffer(it => isRelation(it) && isInverseRelation(it)),\n\t\t\tnew CreateEntityDiffer(),\n\t\t\tnew CreateColumnDiffer(),\n\t\t\tnew CreateRelationDiffer(),\n\t\t\tnew CreateViewDiffer(),\n\t\t\tnew CreateRelationInverseSideDiffer(),\n\t\t\tnew CreateUniqueConstraintDiffer(),\n\t\t\tnew CreateIndexDiffer(),\n\t\t\tnew RemoveEnumDiffer(),\n\t\t\tnew UpdateAclSchemaDiffer(this.options),\n\t\t\tnew UpdateValidationSchemaDiffer(this.options),\n\t\t\tnew UpdateEntityOrderByDiffer(),\n\t\t\tnew UpdateTargetDiffer(),\n\t\t\tnew CreateTargetDiffer(),\n\t\t\tnew UpdateTriggerDiffer(this.options),\n\t\t\tnew CreateTriggerDiffer(),\n\t\t\tnew RemoveTriggerDiffer(),\n\t\t\tnew RemoveTargetDiffer(),\n\t\t]\n\n\t\tconst diffs: Migration.Modification[] = []\n\t\tlet appliedDiffsSchema = originalSchema\n\t\tfor (const differ of differs) {\n\t\t\tconst differDiffs = differ.createDiff(appliedDiffsSchema, updatedSchema)\n\t\t\tappliedDiffsSchema = this.schemaMigrator.applyModifications(appliedDiffsSchema, differDiffs, VERSION_LATEST)\n\t\t\tdiffs.push(...differDiffs)\n\t\t}\n\n\t\tif (!skipRecreateValidation) {\n\t\t\tconst errors = deepCompare(updatedSchema, appliedDiffsSchema, [], path => {\n\t\t\t\tif (path[0] === 'model' && path[1] === 'entities' && (path[3] === 'unique' || path[3] === 'index')) {\n\t\t\t\t\treturn (a, b) => {\n\t\t\t\t\t\treturn compareArraysIgnoreOrder(a, b, path)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn null\n\t\t\t})\n\t\t\tif (errors.length === 0) {\n\t\t\t\treturn diffs\n\t\t\t}\n\t\t\tlet message = 'Updated schema cannot be recreated by the generated diff:'\n\t\t\tfor (const err of errors) {\n\t\t\t\tmessage += '\\n\\t' + err.path.join('.') + ': ' + err.message\n\t\t\t}\n\t\t\tmessage += '\\n\\nPlease fill a bug report'\n\t\t\tthrow new ImplementationException(message)\n\t\t}\n\n\t\treturn diffs\n\t}\n}\n\nexport class InvalidSchemaException extends Error {\n\tconstructor(message: string, public readonly validationErrors: ValidationError[]) {\n\t\tsuper(message)\n\t}\n}\n"],"names":["SchemaValidator","RemoveIndexNamesDiffer","UpdateSettingsDiffer","ConvertOneToManyRelationDiffer","ConvertOneHasManyToManyHasManyRelationDiffer","ConvertOneHasManyToOneHasOneRelationDiffer","RemoveUniqueConstraintDiffer","RemoveIndexDiffer","RemoveViewDiffer","RemoveEntityDiffer","RemoveFieldDiffer","CreateEnumDiffer","UpdateEntityTableNameDiffer","ToggleEventLogDiffer","ToggleJunctionEventLogDiffer","UpdateColumnDefinitionDiffer","UpdateColumnNameDiffer","UpdateRelationOnDeleteDiffer","MakeRelationNotNullDiffer","MakeRelationNullableDiffer","EnableOrphanRemovalDiffer","DisableOrphanRemovalDiffer","UpdateRelationOrderByDiffer","UpdateEnumDiffer","RemoveChangedFieldDiffer","isRelation","isOwningRelation","isInverseRelation","CreateEntityDiffer","CreateColumnDiffer","CreateRelationDiffer","CreateViewDiffer","CreateRelationInverseSideDiffer","CreateUniqueConstraintDiffer","CreateIndexDiffer","RemoveEnumDiffer","UpdateAclSchemaDiffer","UpdateValidationSchemaDiffer","UpdateEntityOrderByDiffer","UpdateTargetDiffer","CreateTargetDiffer","UpdateTriggerDiffer","CreateTriggerDiffer","RemoveTriggerDiffer","RemoveTargetDiffer","VERSION_LATEST","deepCompare","compareArraysIgnoreOrder","ImplementationException"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SchemaDiffer.cjs","sources":["../../../../packages/schema-migrations/src/SchemaDiffer.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport {\n\tcompareArraysIgnoreOrder,\n\tdeepCompare,\n\tisInverseRelation,\n\tisOwningRelation,\n\tisRelation,\n\tSchemaValidator,\n\tValidationError,\n} from '@contember/schema-utils'\nimport { SchemaMigrator } from './SchemaMigrator.js'\nimport { Migration } from './Migration.js'\nimport { ImplementationException } from './exceptions.js'\nimport {\n\tConvertOneHasManyToManyHasManyRelationDiffer,\n\tConvertOneToManyRelationDiffer,\n\tCreateColumnDiffer,\n\tCreateEntityDiffer,\n\tCreateEnumDiffer,\n\tCreateRelationDiffer,\n\tCreateRelationInverseSideDiffer,\n\tCreateUniqueConstraintDiffer,\n\tCreateViewDiffer,\n\tDiffer,\n\tDisableOrphanRemovalDiffer,\n\tEnableOrphanRemovalDiffer,\n\tMakeRelationNotNullDiffer,\n\tMakeRelationNullableDiffer,\n\tRemoveEntityDiffer,\n\tRemoveEnumDiffer,\n\tRemoveFieldDiffer,\n\tRemoveUniqueConstraintDiffer,\n\tToggleEventLogDiffer,\n\tToggleJunctionEventLogDiffer,\n\tUpdateAclSchemaDiffer,\n\tUpdateColumnDefinitionDiffer,\n\tUpdateColumnNameDiffer,\n\tUpdateEntityOrderByDiffer,\n\tUpdateEntityTableNameDiffer,\n\tUpdateEnumDiffer,\n\tUpdateRelationOnDeleteDiffer,\n\tUpdateRelationOrderByDiffer,\n\tUpdateValidationSchemaDiffer,\n\tVERSION_LATEST,\n} from './modifications/index.js'\nimport { RemoveChangedFieldDiffer, RemoveViewDiffer, UpdateViewDiffer } from './modifications/differs/index.js'\nimport { CreateIndexDiffer, RemoveIndexDiffer } from './modifications/indexes/index.js'\nimport { CreateTriggerDiffer, RemoveTriggerDiffer, UpdateTriggerDiffer } from './modifications/actions/index.js'\nimport { UpdateTargetDiffer } from './modifications/actions/UpdateTargetModification.js'\nimport { CreateTargetDiffer } from './modifications/actions/CreateTargetModification.js'\nimport { RemoveTargetDiffer } from './modifications/actions/RemoveTargetModification.js'\nimport { UpdateSettingsDiffer } from './modifications/settings/index.js'\nimport { RemoveIndexNamesDiffer } from './modifications/upgrade/RemoveIndexNamesModification.js'\nimport { ConvertOneHasManyToOneHasOneRelationDiffer } from './modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.js'\n\nexport type DiffOptions = {\n\tskipRecreateValidation?: boolean\n\tskipInitialSchemaValidation?: boolean\n\tskipNonModelDiffers?: boolean\n\t/**\n\t * Disable the in-place `CREATE OR REPLACE VIEW` optimization and drop & recreate every\n\t * changed view (with its dependant cascade) instead. Escape hatch for views whose real\n\t * output columns drifted without a matching field change (which would otherwise fail at\n\t * execute time with `SQLSTATE 42P16`).\n\t */\n\trecreateViews?: boolean\n}\n\nexport class SchemaDiffer {\n\tconstructor(\n\t\tprivate readonly schemaMigrator: SchemaMigrator,\n\t\tprivate readonly options?: {\n\t\t\tmaxPatchSize?: number\n\t\t},\n\t) {}\n\n\tdiffSchemas(originalSchema: Schema, updatedSchema: Schema, {\n\t\tskipInitialSchemaValidation = false,\n\t\tskipRecreateValidation = false,\n\t\tskipNonModelDiffers = false,\n\t\trecreateViews = false,\n\t}: DiffOptions = {}): Migration.Modification[] {\n\t\tif (!skipInitialSchemaValidation) {\n\t\t\tconst originalErrors = SchemaValidator.validate(originalSchema)\n\t\t\tif (originalErrors.length > 0) {\n\t\t\t\tthrow new InvalidSchemaException('original schema is not valid', originalErrors)\n\t\t\t}\n\t\t}\n\t\tconst updatedErrors = SchemaValidator.validate(updatedSchema)\n\t\tif (updatedErrors.length > 0) {\n\t\t\tthrow new InvalidSchemaException('updated schema is not valid', updatedErrors)\n\t\t}\n\n\t\tconst differs: Differ[] = [\n\t\t\tnew RemoveIndexNamesDiffer(),\n\t\t\t...skipNonModelDiffers ? [] : [new UpdateSettingsDiffer()],\n\t\t\tnew ConvertOneToManyRelationDiffer(),\n\t\t\tnew ConvertOneHasManyToManyHasManyRelationDiffer(),\n\t\t\tnew ConvertOneHasManyToOneHasOneRelationDiffer(),\n\t\t\tnew RemoveUniqueConstraintDiffer(),\n\t\t\tnew RemoveIndexDiffer(),\n\t\t\tnew RemoveViewDiffer(recreateViews),\n\t\t\tnew RemoveEntityDiffer(),\n\t\t\tnew RemoveFieldDiffer(),\n\t\t\tnew CreateEnumDiffer(),\n\t\t\tnew UpdateEntityTableNameDiffer(),\n\t\t\tnew ToggleEventLogDiffer(),\n\t\t\tnew ToggleJunctionEventLogDiffer(),\n\t\t\tnew UpdateColumnDefinitionDiffer(),\n\t\t\tnew UpdateColumnNameDiffer(),\n\t\t\tnew UpdateRelationOnDeleteDiffer(),\n\t\t\tnew MakeRelationNotNullDiffer(),\n\t\t\tnew MakeRelationNullableDiffer(),\n\t\t\tnew EnableOrphanRemovalDiffer(),\n\t\t\tnew DisableOrphanRemovalDiffer(),\n\t\t\tnew UpdateRelationOrderByDiffer(),\n\t\t\tnew UpdateEnumDiffer(),\n\t\t\tnew RemoveChangedFieldDiffer(it => !isRelation(it) || isOwningRelation(it)),\n\t\t\tnew RemoveChangedFieldDiffer(it => isRelation(it) && isInverseRelation(it)),\n\t\t\tnew CreateEntityDiffer(),\n\t\t\tnew CreateColumnDiffer(),\n\t\t\tnew CreateRelationDiffer(),\n\t\t\tnew CreateViewDiffer(),\n\t\t\t...recreateViews ? [] : [new UpdateViewDiffer()],\n\t\t\tnew CreateRelationInverseSideDiffer(),\n\t\t\tnew CreateUniqueConstraintDiffer(),\n\t\t\tnew CreateIndexDiffer(),\n\t\t\tnew RemoveEnumDiffer(),\n\t\t\t...skipNonModelDiffers ? [] : [\n\t\t\t\tnew UpdateAclSchemaDiffer(this.options),\n\t\t\t\tnew UpdateValidationSchemaDiffer(this.options),\n\t\t\t],\n\t\t\tnew UpdateEntityOrderByDiffer(),\n\t\t\t...skipNonModelDiffers ? [] : [\n\t\t\t\tnew UpdateTargetDiffer(),\n\t\t\t\tnew CreateTargetDiffer(),\n\t\t\t\tnew UpdateTriggerDiffer(this.options),\n\t\t\t\tnew CreateTriggerDiffer(),\n\t\t\t\tnew RemoveTriggerDiffer(),\n\t\t\t\tnew RemoveTargetDiffer(),\n\t\t\t],\n\t\t]\n\n\t\tconst diffs: Migration.Modification[] = []\n\t\tlet appliedDiffsSchema = originalSchema\n\t\tfor (const differ of differs) {\n\t\t\tconst differDiffs = differ.createDiff(appliedDiffsSchema, updatedSchema)\n\t\t\tappliedDiffsSchema = this.schemaMigrator.applyModifications(appliedDiffsSchema, differDiffs, VERSION_LATEST)\n\t\t\tdiffs.push(...differDiffs)\n\t\t}\n\n\t\tif (!skipRecreateValidation) {\n\t\t\tconst targetForCompare = skipNonModelDiffers\n\t\t\t\t? {\n\t\t\t\t\t...updatedSchema,\n\t\t\t\t\tacl: appliedDiffsSchema.acl,\n\t\t\t\t\tvalidation: appliedDiffsSchema.validation,\n\t\t\t\t\tactions: appliedDiffsSchema.actions,\n\t\t\t\t\tsettings: appliedDiffsSchema.settings,\n\t\t\t\t}\n\t\t\t\t: updatedSchema\n\t\t\tconst errors = deepCompare(targetForCompare, appliedDiffsSchema, [], path => {\n\t\t\t\tif (path[0] === 'model' && path[1] === 'entities' && (path[3] === 'unique' || path[3] === 'index')) {\n\t\t\t\t\treturn (a, b) => {\n\t\t\t\t\t\treturn compareArraysIgnoreOrder(a, b, path)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn null\n\t\t\t})\n\t\t\tif (errors.length === 0) {\n\t\t\t\treturn diffs\n\t\t\t}\n\t\t\tlet message = 'Updated schema cannot be recreated by the generated diff:'\n\t\t\tfor (const err of errors) {\n\t\t\t\tmessage += '\\n\\t' + err.path.join('.') + ': ' + err.message\n\t\t\t}\n\t\t\tmessage += '\\n\\nPlease fill a bug report'\n\t\t\tthrow new ImplementationException(message)\n\t\t}\n\n\t\treturn diffs\n\t}\n}\n\nexport class InvalidSchemaException extends Error {\n\tconstructor(message: string, public readonly validationErrors: ValidationError[]) {\n\t\tsuper(message)\n\t}\n}\n"],"names":["SchemaValidator","RemoveIndexNamesDiffer","UpdateSettingsDiffer","ConvertOneToManyRelationDiffer","ConvertOneHasManyToManyHasManyRelationDiffer","ConvertOneHasManyToOneHasOneRelationDiffer","RemoveUniqueConstraintDiffer","RemoveIndexDiffer","RemoveViewDiffer","RemoveEntityDiffer","RemoveFieldDiffer","CreateEnumDiffer","UpdateEntityTableNameDiffer","ToggleEventLogDiffer","ToggleJunctionEventLogDiffer","UpdateColumnDefinitionDiffer","UpdateColumnNameDiffer","UpdateRelationOnDeleteDiffer","MakeRelationNotNullDiffer","MakeRelationNullableDiffer","EnableOrphanRemovalDiffer","DisableOrphanRemovalDiffer","UpdateRelationOrderByDiffer","UpdateEnumDiffer","RemoveChangedFieldDiffer","isRelation","isOwningRelation","isInverseRelation","CreateEntityDiffer","CreateColumnDiffer","CreateRelationDiffer","CreateViewDiffer","UpdateViewDiffer","CreateRelationInverseSideDiffer","CreateUniqueConstraintDiffer","CreateIndexDiffer","RemoveEnumDiffer","UpdateAclSchemaDiffer","UpdateValidationSchemaDiffer","UpdateEntityOrderByDiffer","UpdateTargetDiffer","CreateTargetDiffer","UpdateTriggerDiffer","CreateTriggerDiffer","RemoveTriggerDiffer","RemoveTargetDiffer","VERSION_LATEST","deepCompare","compareArraysIgnoreOrder","ImplementationException"],"mappings":"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"}
|
|
@@ -34,6 +34,7 @@ import { UpdateValidationSchemaDiffer } from "./modifications/validation/UpdateV
|
|
|
34
34
|
import "./modifications/ModificationHandlerFactory.js";
|
|
35
35
|
import { RemoveChangedFieldDiffer } from "./modifications/differs/RemoveChangedFieldDiffer.js";
|
|
36
36
|
import { RemoveViewDiffer } from "./modifications/differs/RemoveViewDiffer.js";
|
|
37
|
+
import { UpdateViewDiffer } from "./modifications/differs/UpdateViewDiffer.js";
|
|
37
38
|
import { CreateIndexDiffer } from "./modifications/indexes/CreateIndexModification.js";
|
|
38
39
|
import { RemoveIndexDiffer } from "./modifications/indexes/RemoveIndexModification.js";
|
|
39
40
|
import { CreateTriggerDiffer } from "./modifications/actions/CreateTriggerModification.js";
|
|
@@ -52,7 +53,9 @@ class SchemaDiffer {
|
|
|
52
53
|
}
|
|
53
54
|
diffSchemas(originalSchema, updatedSchema, {
|
|
54
55
|
skipInitialSchemaValidation = false,
|
|
55
|
-
skipRecreateValidation = false
|
|
56
|
+
skipRecreateValidation = false,
|
|
57
|
+
skipNonModelDiffers = false,
|
|
58
|
+
recreateViews = false
|
|
56
59
|
} = {}) {
|
|
57
60
|
if (!skipInitialSchemaValidation) {
|
|
58
61
|
const originalErrors = SchemaValidator.validate(originalSchema);
|
|
@@ -66,13 +69,13 @@ class SchemaDiffer {
|
|
|
66
69
|
}
|
|
67
70
|
const differs = [
|
|
68
71
|
new RemoveIndexNamesDiffer(),
|
|
69
|
-
new UpdateSettingsDiffer(),
|
|
72
|
+
...skipNonModelDiffers ? [] : [new UpdateSettingsDiffer()],
|
|
70
73
|
new ConvertOneToManyRelationDiffer(),
|
|
71
74
|
new ConvertOneHasManyToManyHasManyRelationDiffer(),
|
|
72
75
|
new ConvertOneHasManyToOneHasOneRelationDiffer(),
|
|
73
76
|
new RemoveUniqueConstraintDiffer(),
|
|
74
77
|
new RemoveIndexDiffer(),
|
|
75
|
-
new RemoveViewDiffer(),
|
|
78
|
+
new RemoveViewDiffer(recreateViews),
|
|
76
79
|
new RemoveEntityDiffer(),
|
|
77
80
|
new RemoveFieldDiffer(),
|
|
78
81
|
new CreateEnumDiffer(),
|
|
@@ -94,19 +97,24 @@ class SchemaDiffer {
|
|
|
94
97
|
new CreateColumnDiffer(),
|
|
95
98
|
new CreateRelationDiffer(),
|
|
96
99
|
new CreateViewDiffer(),
|
|
100
|
+
...recreateViews ? [] : [new UpdateViewDiffer()],
|
|
97
101
|
new CreateRelationInverseSideDiffer(),
|
|
98
102
|
new CreateUniqueConstraintDiffer(),
|
|
99
103
|
new CreateIndexDiffer(),
|
|
100
104
|
new RemoveEnumDiffer(),
|
|
101
|
-
|
|
102
|
-
|
|
105
|
+
...skipNonModelDiffers ? [] : [
|
|
106
|
+
new UpdateAclSchemaDiffer(this.options),
|
|
107
|
+
new UpdateValidationSchemaDiffer(this.options)
|
|
108
|
+
],
|
|
103
109
|
new UpdateEntityOrderByDiffer(),
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
+
...skipNonModelDiffers ? [] : [
|
|
111
|
+
new UpdateTargetDiffer(),
|
|
112
|
+
new CreateTargetDiffer(),
|
|
113
|
+
new UpdateTriggerDiffer(this.options),
|
|
114
|
+
new CreateTriggerDiffer(),
|
|
115
|
+
new RemoveTriggerDiffer(),
|
|
116
|
+
new RemoveTargetDiffer()
|
|
117
|
+
]
|
|
110
118
|
];
|
|
111
119
|
const diffs = [];
|
|
112
120
|
let appliedDiffsSchema = originalSchema;
|
|
@@ -116,7 +124,14 @@ class SchemaDiffer {
|
|
|
116
124
|
diffs.push(...differDiffs);
|
|
117
125
|
}
|
|
118
126
|
if (!skipRecreateValidation) {
|
|
119
|
-
const
|
|
127
|
+
const targetForCompare = skipNonModelDiffers ? {
|
|
128
|
+
...updatedSchema,
|
|
129
|
+
acl: appliedDiffsSchema.acl,
|
|
130
|
+
validation: appliedDiffsSchema.validation,
|
|
131
|
+
actions: appliedDiffsSchema.actions,
|
|
132
|
+
settings: appliedDiffsSchema.settings
|
|
133
|
+
} : updatedSchema;
|
|
134
|
+
const errors = deepCompare(targetForCompare, appliedDiffsSchema, [], (path) => {
|
|
120
135
|
if (path[0] === "model" && path[1] === "entities" && (path[3] === "unique" || path[3] === "index")) {
|
|
121
136
|
return (a, b) => {
|
|
122
137
|
return compareArraysIgnoreOrder(a, b, path);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaDiffer.js","sources":["../../../../packages/schema-migrations/src/SchemaDiffer.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport {\n\tcompareArraysIgnoreOrder,\n\tdeepCompare,\n\tisInverseRelation,\n\tisOwningRelation,\n\tisRelation,\n\tSchemaValidator,\n\tValidationError,\n} from '@contember/schema-utils'\nimport { SchemaMigrator } from './SchemaMigrator'\nimport { Migration } from './Migration'\nimport { ImplementationException } from './exceptions'\nimport {\n\tConvertOneHasManyToManyHasManyRelationDiffer,\n\tConvertOneToManyRelationDiffer,\n\tCreateColumnDiffer,\n\tCreateEntityDiffer,\n\tCreateEnumDiffer,\n\tCreateRelationDiffer,\n\tCreateRelationInverseSideDiffer,\n\tCreateUniqueConstraintDiffer,\n\tCreateViewDiffer,\n\tDiffer,\n\tDisableOrphanRemovalDiffer,\n\tEnableOrphanRemovalDiffer,\n\tMakeRelationNotNullDiffer,\n\tMakeRelationNullableDiffer,\n\tRemoveEntityDiffer,\n\tRemoveEnumDiffer,\n\tRemoveFieldDiffer,\n\tRemoveUniqueConstraintDiffer,\n\tToggleEventLogDiffer,\n\tToggleJunctionEventLogDiffer,\n\tUpdateAclSchemaDiffer,\n\tUpdateColumnDefinitionDiffer,\n\tUpdateColumnNameDiffer,\n\tUpdateEntityOrderByDiffer,\n\tUpdateEntityTableNameDiffer,\n\tUpdateEnumDiffer,\n\tUpdateRelationOnDeleteDiffer,\n\tUpdateRelationOrderByDiffer,\n\tUpdateValidationSchemaDiffer,\n\tVERSION_LATEST,\n} from './modifications'\nimport { RemoveChangedFieldDiffer, RemoveViewDiffer } from './modifications/differs'\nimport { CreateIndexDiffer, RemoveIndexDiffer } from './modifications/indexes'\nimport { CreateTriggerDiffer, RemoveTriggerDiffer, UpdateTriggerDiffer } from './modifications/actions'\nimport { UpdateTargetDiffer } from './modifications/actions/UpdateTargetModification'\nimport { CreateTargetDiffer } from './modifications/actions/CreateTargetModification'\nimport { RemoveTargetDiffer } from './modifications/actions/RemoveTargetModification'\nimport { UpdateSettingsDiffer } from './modifications/settings'\nimport { RemoveIndexNamesDiffer } from './modifications/upgrade/RemoveIndexNamesModification'\nimport { ConvertOneHasManyToOneHasOneRelationDiffer } from './modifications/relations/ConvertOneHasManyToOneHasOneRelationModification'\n\
|
|
1
|
+
{"version":3,"file":"SchemaDiffer.js","sources":["../../../../packages/schema-migrations/src/SchemaDiffer.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport {\n\tcompareArraysIgnoreOrder,\n\tdeepCompare,\n\tisInverseRelation,\n\tisOwningRelation,\n\tisRelation,\n\tSchemaValidator,\n\tValidationError,\n} from '@contember/schema-utils'\nimport { SchemaMigrator } from './SchemaMigrator.js'\nimport { Migration } from './Migration.js'\nimport { ImplementationException } from './exceptions.js'\nimport {\n\tConvertOneHasManyToManyHasManyRelationDiffer,\n\tConvertOneToManyRelationDiffer,\n\tCreateColumnDiffer,\n\tCreateEntityDiffer,\n\tCreateEnumDiffer,\n\tCreateRelationDiffer,\n\tCreateRelationInverseSideDiffer,\n\tCreateUniqueConstraintDiffer,\n\tCreateViewDiffer,\n\tDiffer,\n\tDisableOrphanRemovalDiffer,\n\tEnableOrphanRemovalDiffer,\n\tMakeRelationNotNullDiffer,\n\tMakeRelationNullableDiffer,\n\tRemoveEntityDiffer,\n\tRemoveEnumDiffer,\n\tRemoveFieldDiffer,\n\tRemoveUniqueConstraintDiffer,\n\tToggleEventLogDiffer,\n\tToggleJunctionEventLogDiffer,\n\tUpdateAclSchemaDiffer,\n\tUpdateColumnDefinitionDiffer,\n\tUpdateColumnNameDiffer,\n\tUpdateEntityOrderByDiffer,\n\tUpdateEntityTableNameDiffer,\n\tUpdateEnumDiffer,\n\tUpdateRelationOnDeleteDiffer,\n\tUpdateRelationOrderByDiffer,\n\tUpdateValidationSchemaDiffer,\n\tVERSION_LATEST,\n} from './modifications/index.js'\nimport { RemoveChangedFieldDiffer, RemoveViewDiffer, UpdateViewDiffer } from './modifications/differs/index.js'\nimport { CreateIndexDiffer, RemoveIndexDiffer } from './modifications/indexes/index.js'\nimport { CreateTriggerDiffer, RemoveTriggerDiffer, UpdateTriggerDiffer } from './modifications/actions/index.js'\nimport { UpdateTargetDiffer } from './modifications/actions/UpdateTargetModification.js'\nimport { CreateTargetDiffer } from './modifications/actions/CreateTargetModification.js'\nimport { RemoveTargetDiffer } from './modifications/actions/RemoveTargetModification.js'\nimport { UpdateSettingsDiffer } from './modifications/settings/index.js'\nimport { RemoveIndexNamesDiffer } from './modifications/upgrade/RemoveIndexNamesModification.js'\nimport { ConvertOneHasManyToOneHasOneRelationDiffer } from './modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.js'\n\nexport type DiffOptions = {\n\tskipRecreateValidation?: boolean\n\tskipInitialSchemaValidation?: boolean\n\tskipNonModelDiffers?: boolean\n\t/**\n\t * Disable the in-place `CREATE OR REPLACE VIEW` optimization and drop & recreate every\n\t * changed view (with its dependant cascade) instead. Escape hatch for views whose real\n\t * output columns drifted without a matching field change (which would otherwise fail at\n\t * execute time with `SQLSTATE 42P16`).\n\t */\n\trecreateViews?: boolean\n}\n\nexport class SchemaDiffer {\n\tconstructor(\n\t\tprivate readonly schemaMigrator: SchemaMigrator,\n\t\tprivate readonly options?: {\n\t\t\tmaxPatchSize?: number\n\t\t},\n\t) {}\n\n\tdiffSchemas(originalSchema: Schema, updatedSchema: Schema, {\n\t\tskipInitialSchemaValidation = false,\n\t\tskipRecreateValidation = false,\n\t\tskipNonModelDiffers = false,\n\t\trecreateViews = false,\n\t}: DiffOptions = {}): Migration.Modification[] {\n\t\tif (!skipInitialSchemaValidation) {\n\t\t\tconst originalErrors = SchemaValidator.validate(originalSchema)\n\t\t\tif (originalErrors.length > 0) {\n\t\t\t\tthrow new InvalidSchemaException('original schema is not valid', originalErrors)\n\t\t\t}\n\t\t}\n\t\tconst updatedErrors = SchemaValidator.validate(updatedSchema)\n\t\tif (updatedErrors.length > 0) {\n\t\t\tthrow new InvalidSchemaException('updated schema is not valid', updatedErrors)\n\t\t}\n\n\t\tconst differs: Differ[] = [\n\t\t\tnew RemoveIndexNamesDiffer(),\n\t\t\t...skipNonModelDiffers ? [] : [new UpdateSettingsDiffer()],\n\t\t\tnew ConvertOneToManyRelationDiffer(),\n\t\t\tnew ConvertOneHasManyToManyHasManyRelationDiffer(),\n\t\t\tnew ConvertOneHasManyToOneHasOneRelationDiffer(),\n\t\t\tnew RemoveUniqueConstraintDiffer(),\n\t\t\tnew RemoveIndexDiffer(),\n\t\t\tnew RemoveViewDiffer(recreateViews),\n\t\t\tnew RemoveEntityDiffer(),\n\t\t\tnew RemoveFieldDiffer(),\n\t\t\tnew CreateEnumDiffer(),\n\t\t\tnew UpdateEntityTableNameDiffer(),\n\t\t\tnew ToggleEventLogDiffer(),\n\t\t\tnew ToggleJunctionEventLogDiffer(),\n\t\t\tnew UpdateColumnDefinitionDiffer(),\n\t\t\tnew UpdateColumnNameDiffer(),\n\t\t\tnew UpdateRelationOnDeleteDiffer(),\n\t\t\tnew MakeRelationNotNullDiffer(),\n\t\t\tnew MakeRelationNullableDiffer(),\n\t\t\tnew EnableOrphanRemovalDiffer(),\n\t\t\tnew DisableOrphanRemovalDiffer(),\n\t\t\tnew UpdateRelationOrderByDiffer(),\n\t\t\tnew UpdateEnumDiffer(),\n\t\t\tnew RemoveChangedFieldDiffer(it => !isRelation(it) || isOwningRelation(it)),\n\t\t\tnew RemoveChangedFieldDiffer(it => isRelation(it) && isInverseRelation(it)),\n\t\t\tnew CreateEntityDiffer(),\n\t\t\tnew CreateColumnDiffer(),\n\t\t\tnew CreateRelationDiffer(),\n\t\t\tnew CreateViewDiffer(),\n\t\t\t...recreateViews ? [] : [new UpdateViewDiffer()],\n\t\t\tnew CreateRelationInverseSideDiffer(),\n\t\t\tnew CreateUniqueConstraintDiffer(),\n\t\t\tnew CreateIndexDiffer(),\n\t\t\tnew RemoveEnumDiffer(),\n\t\t\t...skipNonModelDiffers ? [] : [\n\t\t\t\tnew UpdateAclSchemaDiffer(this.options),\n\t\t\t\tnew UpdateValidationSchemaDiffer(this.options),\n\t\t\t],\n\t\t\tnew UpdateEntityOrderByDiffer(),\n\t\t\t...skipNonModelDiffers ? [] : [\n\t\t\t\tnew UpdateTargetDiffer(),\n\t\t\t\tnew CreateTargetDiffer(),\n\t\t\t\tnew UpdateTriggerDiffer(this.options),\n\t\t\t\tnew CreateTriggerDiffer(),\n\t\t\t\tnew RemoveTriggerDiffer(),\n\t\t\t\tnew RemoveTargetDiffer(),\n\t\t\t],\n\t\t]\n\n\t\tconst diffs: Migration.Modification[] = []\n\t\tlet appliedDiffsSchema = originalSchema\n\t\tfor (const differ of differs) {\n\t\t\tconst differDiffs = differ.createDiff(appliedDiffsSchema, updatedSchema)\n\t\t\tappliedDiffsSchema = this.schemaMigrator.applyModifications(appliedDiffsSchema, differDiffs, VERSION_LATEST)\n\t\t\tdiffs.push(...differDiffs)\n\t\t}\n\n\t\tif (!skipRecreateValidation) {\n\t\t\tconst targetForCompare = skipNonModelDiffers\n\t\t\t\t? {\n\t\t\t\t\t...updatedSchema,\n\t\t\t\t\tacl: appliedDiffsSchema.acl,\n\t\t\t\t\tvalidation: appliedDiffsSchema.validation,\n\t\t\t\t\tactions: appliedDiffsSchema.actions,\n\t\t\t\t\tsettings: appliedDiffsSchema.settings,\n\t\t\t\t}\n\t\t\t\t: updatedSchema\n\t\t\tconst errors = deepCompare(targetForCompare, appliedDiffsSchema, [], path => {\n\t\t\t\tif (path[0] === 'model' && path[1] === 'entities' && (path[3] === 'unique' || path[3] === 'index')) {\n\t\t\t\t\treturn (a, b) => {\n\t\t\t\t\t\treturn compareArraysIgnoreOrder(a, b, path)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn null\n\t\t\t})\n\t\t\tif (errors.length === 0) {\n\t\t\t\treturn diffs\n\t\t\t}\n\t\t\tlet message = 'Updated schema cannot be recreated by the generated diff:'\n\t\t\tfor (const err of errors) {\n\t\t\t\tmessage += '\\n\\t' + err.path.join('.') + ': ' + err.message\n\t\t\t}\n\t\t\tmessage += '\\n\\nPlease fill a bug report'\n\t\t\tthrow new ImplementationException(message)\n\t\t}\n\n\t\treturn diffs\n\t}\n}\n\nexport class InvalidSchemaException extends Error {\n\tconstructor(message: string, public readonly validationErrors: ValidationError[]) {\n\t\tsuper(message)\n\t}\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaMigrator.cjs","sources":["../../../../packages/schema-migrations/src/SchemaMigrator.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport { ModificationHandlerFactory } from './modifications'\nimport { Migration } from './Migration'\n\nexport class SchemaMigrator {\n\tconstructor(private readonly modificationHandlerFactory: ModificationHandlerFactory) {}\n\n\tpublic applyModifications(schema: Schema, diff: readonly Migration.Modification[], formatVersion: number): Schema {\n\t\tfor (const modification of diff) {\n\t\t\tconst { modification: name, ...data } = modification\n\t\t\tconst modificationHandler = this.modificationHandlerFactory.create(name, data, schema, {\n\t\t\t\tformatVersion,\n\t\t\t})\n\t\t\tschema = modificationHandler.getSchemaUpdater()({ schema })\n\t\t}\n\t\treturn schema\n\t}\n}\n"],"names":[],"mappings":";;AAIO,MAAM,eAAe;AAAA,EAC3B,YAA6B,4BAAwD;AAAxD,SAAA,6BAAA;AAAA,EAAyD;AAAA,EAE/E,mBAAmB,QAAgB,MAAyC,eAA+B;AACjH,eAAW,gBAAgB,MAAM;AAChC,YAAM,EAAE,cAAc,MAAM,GAAG,SAAS;AACxC,YAAM,sBAAsB,KAAK,2BAA2B,OAAO,MAAM,MAAM,QAAQ;AAAA,QACtF;AAAA,MAAA,CACA;AACD,eAAS,oBAAoB,mBAAmB,EAAE,QAAQ;AAAA,IAC3D;AACA,WAAO;AAAA,EACR;AACD;;"}
|
|
1
|
+
{"version":3,"file":"SchemaMigrator.cjs","sources":["../../../../packages/schema-migrations/src/SchemaMigrator.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport { ModificationHandlerFactory } from './modifications/index.js'\nimport { Migration } from './Migration.js'\n\nexport class SchemaMigrator {\n\tconstructor(private readonly modificationHandlerFactory: ModificationHandlerFactory) {}\n\n\tpublic applyModifications(schema: Schema, diff: readonly Migration.Modification[], formatVersion: number): Schema {\n\t\tfor (const modification of diff) {\n\t\t\tconst { modification: name, ...data } = modification\n\t\t\tconst modificationHandler = this.modificationHandlerFactory.create(name, data, schema, {\n\t\t\t\tformatVersion,\n\t\t\t})\n\t\t\tschema = modificationHandler.getSchemaUpdater()({ schema })\n\t\t}\n\t\treturn schema\n\t}\n}\n"],"names":[],"mappings":";;AAIO,MAAM,eAAe;AAAA,EAC3B,YAA6B,4BAAwD;AAAxD,SAAA,6BAAA;AAAA,EAAyD;AAAA,EAE/E,mBAAmB,QAAgB,MAAyC,eAA+B;AACjH,eAAW,gBAAgB,MAAM;AAChC,YAAM,EAAE,cAAc,MAAM,GAAG,SAAS;AACxC,YAAM,sBAAsB,KAAK,2BAA2B,OAAO,MAAM,MAAM,QAAQ;AAAA,QACtF;AAAA,MAAA,CACA;AACD,eAAS,oBAAoB,mBAAmB,EAAE,QAAQ;AAAA,IAC3D;AACA,WAAO;AAAA,EACR;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaMigrator.js","sources":["../../../../packages/schema-migrations/src/SchemaMigrator.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport { ModificationHandlerFactory } from './modifications'\nimport { Migration } from './Migration'\n\nexport class SchemaMigrator {\n\tconstructor(private readonly modificationHandlerFactory: ModificationHandlerFactory) {}\n\n\tpublic applyModifications(schema: Schema, diff: readonly Migration.Modification[], formatVersion: number): Schema {\n\t\tfor (const modification of diff) {\n\t\t\tconst { modification: name, ...data } = modification\n\t\t\tconst modificationHandler = this.modificationHandlerFactory.create(name, data, schema, {\n\t\t\t\tformatVersion,\n\t\t\t})\n\t\t\tschema = modificationHandler.getSchemaUpdater()({ schema })\n\t\t}\n\t\treturn schema\n\t}\n}\n"],"names":[],"mappings":"AAIO,MAAM,eAAe;AAAA,EAC3B,YAA6B,4BAAwD;AAAxD,SAAA,6BAAA;AAAA,EAAyD;AAAA,EAE/E,mBAAmB,QAAgB,MAAyC,eAA+B;AACjH,eAAW,gBAAgB,MAAM;AAChC,YAAM,EAAE,cAAc,MAAM,GAAG,SAAS;AACxC,YAAM,sBAAsB,KAAK,2BAA2B,OAAO,MAAM,MAAM,QAAQ;AAAA,QACtF;AAAA,MAAA,CACA;AACD,eAAS,oBAAoB,mBAAmB,EAAE,QAAQ;AAAA,IAC3D;AACA,WAAO;AAAA,EACR;AACD;"}
|
|
1
|
+
{"version":3,"file":"SchemaMigrator.js","sources":["../../../../packages/schema-migrations/src/SchemaMigrator.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport { ModificationHandlerFactory } from './modifications/index.js'\nimport { Migration } from './Migration.js'\n\nexport class SchemaMigrator {\n\tconstructor(private readonly modificationHandlerFactory: ModificationHandlerFactory) {}\n\n\tpublic applyModifications(schema: Schema, diff: readonly Migration.Modification[], formatVersion: number): Schema {\n\t\tfor (const modification of diff) {\n\t\t\tconst { modification: name, ...data } = modification\n\t\t\tconst modificationHandler = this.modificationHandlerFactory.create(name, data, schema, {\n\t\t\t\tformatVersion,\n\t\t\t})\n\t\t\tschema = modificationHandler.getSchemaUpdater()({ schema })\n\t\t}\n\t\treturn schema\n\t}\n}\n"],"names":[],"mappings":"AAIO,MAAM,eAAe;AAAA,EAC3B,YAA6B,4BAAwD;AAAxD,SAAA,6BAAA;AAAA,EAAyD;AAAA,EAE/E,mBAAmB,QAAgB,MAAyC,eAA+B;AACjH,eAAW,gBAAgB,MAAM;AAChC,YAAM,EAAE,cAAc,MAAM,GAAG,SAAS;AACxC,YAAM,sBAAsB,KAAK,2BAA2B,OAAO,MAAM,MAAM,QAAQ;AAAA,QACtF;AAAA,MAAA,CACA;AACD,eAAS,oBAAoB,mBAAmB,EAAE,QAAQ;AAAA,IAC3D;AACA,WAAO;AAAA,EACR;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModificationHandler.cjs","sources":["../../../../../packages/schema-migrations/src/modifications/ModificationHandler.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { SchemaUpdater } from './utils/schemaUpdateUtils'\nimport { Schema } from '@contember/schema'\nimport { Migration } from '../Migration'\nimport { DatabaseMetadata } from '@contember/database'\n\nexport interface ModificationDescription {\n\tmessage: string\n\tisDestructive?: boolean\n\tfailureWarning?: string\n}\n\nexport const emptyModificationDescriptionContext: ModificationDescriptionContext = { createdEntities: [] }\nexport type ModificationDescriptionContext = { createdEntities: string[] }\n\nexport interface ModificationHandler<Data> {\n\tcreateSql(builder: MigrationBuilder, options: ModificationHandlerCreateSqlOptions): void\n\n\tgetSchemaUpdater(): SchemaUpdater\n\n\tdescribe(context: ModificationDescriptionContext): ModificationDescription\n}\n\nexport interface ModificationHandlerCreateSqlOptions {\n\tsystemSchema: string\n\tdatabaseMetadata: DatabaseMetadata\n\tinvalidateDatabaseMetadata: () => void\n}\n\nexport interface ModificationHandlerOptions {\n\tformatVersion: number\n}\n\nexport interface ModificationHandlerConstructor<Data> {\n\tnew(data: Data, schema: Schema, options: ModificationHandlerOptions): ModificationHandler<Data>\n}\n\nexport interface Differ<Data = { [field: string]: any }> {\n\tcreateDiff: (originalSchema: Schema, updatedSchema: Schema) => Migration.Modification<Data>[]\n}\n\nexport interface ModificationType<Id extends String, Data> {\n\tid: Id\n\tcreateModification: (data: Data) => Migration.Modification<Data>\n\tcreateHandler: (data: Data, schema: Schema, options: ModificationHandlerOptions) => ModificationHandler<Data>\n}\n\nexport const createModificationType = <Data, Id extends string>({ handler, id }: {\n\tid: Id\n\thandler: ModificationHandlerConstructor<Data>\n}): ModificationType<Id, Data> => {\n\treturn {\n\t\tid,\n\t\tcreateModification: data => ({ modification: id, ...data }),\n\t\tcreateHandler: (data, schema, options) => new handler(data, schema, options),\n\t}\n}\n"],"names":[],"mappings":";;AAYO,MAAM,sCAAsE,EAAE,iBAAiB,CAAA,EAAC;AAmChG,MAAM,yBAAyB,CAA0B,EAAE,SAAS,SAGzC;AACjC,SAAO;AAAA,IACN;AAAA,IACA,oBAAoB,CAAA,UAAS,EAAE,cAAc,IAAI,GAAG;IACpD,eAAe,CAAC,MAAM,QAAQ,YAAY,IAAI,QAAQ,MAAM,QAAQ,OAAO;AAAA,EAAA;AAE7E;;;"}
|
|
1
|
+
{"version":3,"file":"ModificationHandler.cjs","sources":["../../../../../packages/schema-migrations/src/modifications/ModificationHandler.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { SchemaUpdater } from './utils/schemaUpdateUtils.js'\nimport { Schema } from '@contember/schema'\nimport { Migration } from '../Migration.js'\nimport { DatabaseMetadata } from '@contember/database'\n\nexport interface ModificationDescription {\n\tmessage: string\n\tisDestructive?: boolean\n\tfailureWarning?: string\n}\n\nexport const emptyModificationDescriptionContext: ModificationDescriptionContext = { createdEntities: [] }\nexport type ModificationDescriptionContext = { createdEntities: string[] }\n\nexport interface ModificationHandler<Data> {\n\tcreateSql(builder: MigrationBuilder, options: ModificationHandlerCreateSqlOptions): void\n\n\tgetSchemaUpdater(): SchemaUpdater\n\n\tdescribe(context: ModificationDescriptionContext): ModificationDescription\n}\n\nexport interface ModificationHandlerCreateSqlOptions {\n\tsystemSchema: string\n\tdatabaseMetadata: DatabaseMetadata\n\tinvalidateDatabaseMetadata: () => void\n}\n\nexport interface ModificationHandlerOptions {\n\tformatVersion: number\n}\n\nexport interface ModificationHandlerConstructor<Data> {\n\tnew(data: Data, schema: Schema, options: ModificationHandlerOptions): ModificationHandler<Data>\n}\n\nexport interface Differ<Data = { [field: string]: any }> {\n\tcreateDiff: (originalSchema: Schema, updatedSchema: Schema) => Migration.Modification<Data>[]\n}\n\nexport interface ModificationType<Id extends String, Data> {\n\tid: Id\n\tcreateModification: (data: Data) => Migration.Modification<Data>\n\tcreateHandler: (data: Data, schema: Schema, options: ModificationHandlerOptions) => ModificationHandler<Data>\n}\n\nexport const createModificationType = <Data, Id extends string>({ handler, id }: {\n\tid: Id\n\thandler: ModificationHandlerConstructor<Data>\n}): ModificationType<Id, Data> => {\n\treturn {\n\t\tid,\n\t\tcreateModification: data => ({ modification: id, ...data }),\n\t\tcreateHandler: (data, schema, options) => new handler(data, schema, options),\n\t}\n}\n"],"names":[],"mappings":";;AAYO,MAAM,sCAAsE,EAAE,iBAAiB,CAAA,EAAC;AAmChG,MAAM,yBAAyB,CAA0B,EAAE,SAAS,SAGzC;AACjC,SAAO;AAAA,IACN;AAAA,IACA,oBAAoB,CAAA,UAAS,EAAE,cAAc,IAAI,GAAG;IACpD,eAAe,CAAC,MAAM,QAAQ,YAAY,IAAI,QAAQ,MAAM,QAAQ,OAAO;AAAA,EAAA;AAE7E;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModificationHandler.js","sources":["../../../../../packages/schema-migrations/src/modifications/ModificationHandler.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { SchemaUpdater } from './utils/schemaUpdateUtils'\nimport { Schema } from '@contember/schema'\nimport { Migration } from '../Migration'\nimport { DatabaseMetadata } from '@contember/database'\n\nexport interface ModificationDescription {\n\tmessage: string\n\tisDestructive?: boolean\n\tfailureWarning?: string\n}\n\nexport const emptyModificationDescriptionContext: ModificationDescriptionContext = { createdEntities: [] }\nexport type ModificationDescriptionContext = { createdEntities: string[] }\n\nexport interface ModificationHandler<Data> {\n\tcreateSql(builder: MigrationBuilder, options: ModificationHandlerCreateSqlOptions): void\n\n\tgetSchemaUpdater(): SchemaUpdater\n\n\tdescribe(context: ModificationDescriptionContext): ModificationDescription\n}\n\nexport interface ModificationHandlerCreateSqlOptions {\n\tsystemSchema: string\n\tdatabaseMetadata: DatabaseMetadata\n\tinvalidateDatabaseMetadata: () => void\n}\n\nexport interface ModificationHandlerOptions {\n\tformatVersion: number\n}\n\nexport interface ModificationHandlerConstructor<Data> {\n\tnew(data: Data, schema: Schema, options: ModificationHandlerOptions): ModificationHandler<Data>\n}\n\nexport interface Differ<Data = { [field: string]: any }> {\n\tcreateDiff: (originalSchema: Schema, updatedSchema: Schema) => Migration.Modification<Data>[]\n}\n\nexport interface ModificationType<Id extends String, Data> {\n\tid: Id\n\tcreateModification: (data: Data) => Migration.Modification<Data>\n\tcreateHandler: (data: Data, schema: Schema, options: ModificationHandlerOptions) => ModificationHandler<Data>\n}\n\nexport const createModificationType = <Data, Id extends string>({ handler, id }: {\n\tid: Id\n\thandler: ModificationHandlerConstructor<Data>\n}): ModificationType<Id, Data> => {\n\treturn {\n\t\tid,\n\t\tcreateModification: data => ({ modification: id, ...data }),\n\t\tcreateHandler: (data, schema, options) => new handler(data, schema, options),\n\t}\n}\n"],"names":[],"mappings":"AAYO,MAAM,sCAAsE,EAAE,iBAAiB,CAAA,EAAC;AAmChG,MAAM,yBAAyB,CAA0B,EAAE,SAAS,SAGzC;AACjC,SAAO;AAAA,IACN;AAAA,IACA,oBAAoB,CAAA,UAAS,EAAE,cAAc,IAAI,GAAG;IACpD,eAAe,CAAC,MAAM,QAAQ,YAAY,IAAI,QAAQ,MAAM,QAAQ,OAAO;AAAA,EAAA;AAE7E;"}
|
|
1
|
+
{"version":3,"file":"ModificationHandler.js","sources":["../../../../../packages/schema-migrations/src/modifications/ModificationHandler.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { SchemaUpdater } from './utils/schemaUpdateUtils.js'\nimport { Schema } from '@contember/schema'\nimport { Migration } from '../Migration.js'\nimport { DatabaseMetadata } from '@contember/database'\n\nexport interface ModificationDescription {\n\tmessage: string\n\tisDestructive?: boolean\n\tfailureWarning?: string\n}\n\nexport const emptyModificationDescriptionContext: ModificationDescriptionContext = { createdEntities: [] }\nexport type ModificationDescriptionContext = { createdEntities: string[] }\n\nexport interface ModificationHandler<Data> {\n\tcreateSql(builder: MigrationBuilder, options: ModificationHandlerCreateSqlOptions): void\n\n\tgetSchemaUpdater(): SchemaUpdater\n\n\tdescribe(context: ModificationDescriptionContext): ModificationDescription\n}\n\nexport interface ModificationHandlerCreateSqlOptions {\n\tsystemSchema: string\n\tdatabaseMetadata: DatabaseMetadata\n\tinvalidateDatabaseMetadata: () => void\n}\n\nexport interface ModificationHandlerOptions {\n\tformatVersion: number\n}\n\nexport interface ModificationHandlerConstructor<Data> {\n\tnew(data: Data, schema: Schema, options: ModificationHandlerOptions): ModificationHandler<Data>\n}\n\nexport interface Differ<Data = { [field: string]: any }> {\n\tcreateDiff: (originalSchema: Schema, updatedSchema: Schema) => Migration.Modification<Data>[]\n}\n\nexport interface ModificationType<Id extends String, Data> {\n\tid: Id\n\tcreateModification: (data: Data) => Migration.Modification<Data>\n\tcreateHandler: (data: Data, schema: Schema, options: ModificationHandlerOptions) => ModificationHandler<Data>\n}\n\nexport const createModificationType = <Data, Id extends string>({ handler, id }: {\n\tid: Id\n\thandler: ModificationHandlerConstructor<Data>\n}): ModificationType<Id, Data> => {\n\treturn {\n\t\tid,\n\t\tcreateModification: data => ({ modification: id, ...data }),\n\t\tcreateHandler: (data, schema, options) => new handler(data, schema, options),\n\t}\n}\n"],"names":[],"mappings":"AAYO,MAAM,sCAAsE,EAAE,iBAAiB,CAAA,EAAC;AAmChG,MAAM,yBAAyB,CAA0B,EAAE,SAAS,SAGzC;AACjC,SAAO;AAAA,IACN;AAAA,IACA,oBAAoB,CAAA,UAAS,EAAE,cAAc,IAAI,GAAG;IACpD,eAAe,CAAC,MAAM,QAAQ,YAAY,IAAI,QAAQ,MAAM,QAAQ,OAAO;AAAA,EAAA;AAE7E;"}
|
|
@@ -21,6 +21,7 @@ const RemoveEnumModification = require("./enums/RemoveEnumModification.cjs");
|
|
|
21
21
|
const UpdateEnumModification = require("./enums/UpdateEnumModification.cjs");
|
|
22
22
|
const RemoveFieldModification = require("./fields/RemoveFieldModification.cjs");
|
|
23
23
|
const UpdateFieldNameModification = require("./fields/UpdateFieldNameModification.cjs");
|
|
24
|
+
const ConvertManyHasManyToJoiningEntityModification = require("./relations/ConvertManyHasManyToJoiningEntityModification.cjs");
|
|
24
25
|
const ConvertOneHasManyToManyHasManyRelationModification = require("./relations/ConvertOneHasManyToManyHasManyRelationModification.cjs");
|
|
25
26
|
const ConvertOneToManyRelationModification = require("./relations/ConvertOneToManyRelationModification.cjs");
|
|
26
27
|
const CreateRelationInverseSideModification = require("./relations/CreateRelationInverseSideModification.cjs");
|
|
@@ -96,6 +97,7 @@ class ModificationHandlerFactory {
|
|
|
96
97
|
ToggleEventLogModification.toggleEventLogModification,
|
|
97
98
|
ToggleJunctionEventLogModification.toggleJunctionEventLogModification,
|
|
98
99
|
ConvertOneHasManyToManyHasManyRelationModification.convertOneHasManyToManyHasManyRelationModification,
|
|
100
|
+
ConvertManyHasManyToJoiningEntityModification.convertManyHasManyToJoiningEntityModification,
|
|
99
101
|
UpdateEntityOrderByModification.updateEntityOrderByModification,
|
|
100
102
|
CreateTriggerModification.createTriggerModification,
|
|
101
103
|
UpdateTriggerModification.updateTriggerModification,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModificationHandlerFactory.cjs","sources":["../../../../../packages/schema-migrations/src/modifications/ModificationHandlerFactory.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport { ModificationHandler, ModificationHandlerOptions, ModificationType } from './ModificationHandler'\nimport { patchAclSchemaModification, updateAclSchemaModification } from './acl'\nimport { createColumnModification, updateColumnDefinitionModification, updateColumnNameModification } from './columns'\nimport { createUniqueConstraintModification, removeUniqueConstraintModification } from './constraints'\nimport {\n\tcreateEntityModification,\n\tcreateViewModification,\n\tremoveEntityModification,\n\ttoggleEventLogModification,\n\tupdateEntityNameModification,\n\tupdateEntityTableNameModification,\n} from './entities'\nimport { updateViewModification } from './entities/UpdateViewModification'\nimport { createEnumModification, removeEnumModification, updateEnumModification } from './enums'\nimport { removeFieldModification, updateFieldNameModification } from './fields'\nimport {\n\tconvertOneHasManyToManyHasManyRelationModification,\n\tconvertOneToManyRelationModification,\n\tcreateRelationInverseSideModification,\n\tcreateRelationModification,\n\tdisableOrphanRemovalModification,\n\tenableOrphanRemovalModification,\n\tmakeRelationNotNullModification,\n\tmakeRelationNullableModification,\n\ttoggleJunctionEventLogModification,\n\tupdateRelationOnDeleteModification,\n\tupdateRelationOrderByModification,\n} from './relations'\nimport { patchValidationSchemaModification, updateValidationSchemaModification } from './validation'\nimport { createIndexModification, removeIndexModification } from './indexes'\nimport { updateSettingsModification } from './settings'\nimport { createTriggerModification, patchTriggerModification, removeTriggerModification, updateTriggerModification } from './actions'\nimport { createTargetModification } from './actions/CreateTargetModification'\nimport { removeTargetModification } from './actions/RemoveTargetModification'\nimport { updateTargetModification } from './actions/UpdateTargetModification'\nimport { updateEntityOrderByModification } from './entities/UpdateEntityOrderByModification'\nimport { removeIndexNamesModification } from './upgrade/RemoveIndexNamesModification'\nimport { convertOneHasManyToOneHasOneRelationModification } from './relations/ConvertOneHasManyToOneHasOneRelationModification'\n\nclass ModificationHandlerFactory {\n\tconstructor(private readonly map: Record<string, ModificationType<string, any>>) {}\n\n\tpublic create<D>(name: string, data: D, schema: Schema, options: ModificationHandlerOptions): ModificationHandler<D> {\n\t\tif (!this.map[name]) {\n\t\t\tthrow new Error(`Undefined modification handler for ${name}`)\n\t\t}\n\t\treturn this.map[name].createHandler(data, schema, options)\n\t}\n}\n\nnamespace ModificationHandlerFactory {\n\ttype HandlerMap<D> = { [modificationName: string]: ModificationType<string, D> }\n\n\tconst handlers = [\n\t\tremoveIndexNamesModification,\n\t\tupdateSettingsModification,\n\t\tupdateAclSchemaModification,\n\t\tpatchAclSchemaModification,\n\t\tcreateColumnModification,\n\t\tupdateColumnDefinitionModification,\n\t\tupdateColumnNameModification,\n\t\tcreateUniqueConstraintModification,\n\t\tremoveUniqueConstraintModification,\n\t\tcreateIndexModification,\n\t\tremoveIndexModification,\n\t\tcreateEntityModification,\n\t\tremoveEntityModification,\n\t\tupdateEntityNameModification,\n\t\tupdateEntityTableNameModification,\n\t\tupdateViewModification,\n\t\tcreateViewModification,\n\t\tcreateEnumModification,\n\t\tremoveEnumModification,\n\t\tupdateEnumModification,\n\t\tremoveFieldModification,\n\t\tupdateFieldNameModification,\n\t\tcreateRelationInverseSideModification,\n\t\tcreateRelationModification,\n\t\tupdateRelationOnDeleteModification,\n\t\tupdateRelationOrderByModification,\n\t\tmakeRelationNotNullModification,\n\t\tmakeRelationNullableModification,\n\t\tenableOrphanRemovalModification,\n\t\tdisableOrphanRemovalModification,\n\t\tupdateValidationSchemaModification,\n\t\tpatchValidationSchemaModification,\n\t\tconvertOneToManyRelationModification,\n\t\tconvertOneHasManyToOneHasOneRelationModification,\n\t\ttoggleEventLogModification,\n\t\ttoggleJunctionEventLogModification,\n\t\tconvertOneHasManyToManyHasManyRelationModification,\n\t\tupdateEntityOrderByModification,\n\t\tcreateTriggerModification,\n\t\tupdateTriggerModification,\n\t\tpatchTriggerModification,\n\t\tremoveTriggerModification,\n\t\tcreateTargetModification,\n\t\tupdateTargetModification,\n\t\tremoveTargetModification,\n\t]\n\n\texport const defaultFactoryMap: HandlerMap<any> = Object.fromEntries(handlers.map(it => [it.id, it]))\n}\n\nexport { ModificationHandlerFactory }\n"],"names":["ModificationHandlerFactory","removeIndexNamesModification","updateSettingsModification","updateAclSchemaModification","patchAclSchemaModification","createColumnModification","updateColumnDefinitionModification","updateColumnNameModification","createUniqueConstraintModification","removeUniqueConstraintModification","createIndexModification","removeIndexModification","createEntityModification","removeEntityModification","updateEntityNameModification","updateEntityTableNameModification","updateViewModification","createViewModification","createEnumModification","removeEnumModification","updateEnumModification","removeFieldModification","updateFieldNameModification","createRelationInverseSideModification","createRelationModification","updateRelationOnDeleteModification","updateRelationOrderByModification","makeRelationNotNullModification","makeRelationNullableModification","enableOrphanRemovalModification","disableOrphanRemovalModification","updateValidationSchemaModification","patchValidationSchemaModification","convertOneToManyRelationModification","convertOneHasManyToOneHasOneRelationModification","toggleEventLogModification","toggleJunctionEventLogModification","convertOneHasManyToManyHasManyRelationModification","updateEntityOrderByModification","createTriggerModification","updateTriggerModification","patchTriggerModification","removeTriggerModification","createTargetModification","updateTargetModification","removeTargetModification"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ModificationHandlerFactory.cjs","sources":["../../../../../packages/schema-migrations/src/modifications/ModificationHandlerFactory.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport { ModificationHandler, ModificationHandlerOptions, ModificationType } from './ModificationHandler.js'\nimport { patchAclSchemaModification, updateAclSchemaModification } from './acl/index.js'\nimport { createColumnModification, updateColumnDefinitionModification, updateColumnNameModification } from './columns/index.js'\nimport { createUniqueConstraintModification, removeUniqueConstraintModification } from './constraints/index.js'\nimport {\n\tcreateEntityModification,\n\tcreateViewModification,\n\tremoveEntityModification,\n\ttoggleEventLogModification,\n\tupdateEntityNameModification,\n\tupdateEntityTableNameModification,\n} from './entities/index.js'\nimport { updateViewModification } from './entities/UpdateViewModification.js'\nimport { createEnumModification, removeEnumModification, updateEnumModification } from './enums/index.js'\nimport { removeFieldModification, updateFieldNameModification } from './fields/index.js'\nimport {\n\tconvertManyHasManyToJoiningEntityModification,\n\tconvertOneHasManyToManyHasManyRelationModification,\n\tconvertOneToManyRelationModification,\n\tcreateRelationInverseSideModification,\n\tcreateRelationModification,\n\tdisableOrphanRemovalModification,\n\tenableOrphanRemovalModification,\n\tmakeRelationNotNullModification,\n\tmakeRelationNullableModification,\n\ttoggleJunctionEventLogModification,\n\tupdateRelationOnDeleteModification,\n\tupdateRelationOrderByModification,\n} from './relations/index.js'\nimport { patchValidationSchemaModification, updateValidationSchemaModification } from './validation/index.js'\nimport { createIndexModification, removeIndexModification } from './indexes/index.js'\nimport { updateSettingsModification } from './settings/index.js'\nimport { createTriggerModification, patchTriggerModification, removeTriggerModification, updateTriggerModification } from './actions/index.js'\nimport { createTargetModification } from './actions/CreateTargetModification.js'\nimport { removeTargetModification } from './actions/RemoveTargetModification.js'\nimport { updateTargetModification } from './actions/UpdateTargetModification.js'\nimport { updateEntityOrderByModification } from './entities/UpdateEntityOrderByModification.js'\nimport { removeIndexNamesModification } from './upgrade/RemoveIndexNamesModification.js'\nimport { convertOneHasManyToOneHasOneRelationModification } from './relations/ConvertOneHasManyToOneHasOneRelationModification.js'\n\nclass ModificationHandlerFactory {\n\tconstructor(private readonly map: Record<string, ModificationType<string, any>>) {}\n\n\tpublic create<D>(name: string, data: D, schema: Schema, options: ModificationHandlerOptions): ModificationHandler<D> {\n\t\tif (!this.map[name]) {\n\t\t\tthrow new Error(`Undefined modification handler for ${name}`)\n\t\t}\n\t\treturn this.map[name].createHandler(data, schema, options)\n\t}\n}\n\nnamespace ModificationHandlerFactory {\n\ttype HandlerMap<D> = { [modificationName: string]: ModificationType<string, D> }\n\n\tconst handlers = [\n\t\tremoveIndexNamesModification,\n\t\tupdateSettingsModification,\n\t\tupdateAclSchemaModification,\n\t\tpatchAclSchemaModification,\n\t\tcreateColumnModification,\n\t\tupdateColumnDefinitionModification,\n\t\tupdateColumnNameModification,\n\t\tcreateUniqueConstraintModification,\n\t\tremoveUniqueConstraintModification,\n\t\tcreateIndexModification,\n\t\tremoveIndexModification,\n\t\tcreateEntityModification,\n\t\tremoveEntityModification,\n\t\tupdateEntityNameModification,\n\t\tupdateEntityTableNameModification,\n\t\tupdateViewModification,\n\t\tcreateViewModification,\n\t\tcreateEnumModification,\n\t\tremoveEnumModification,\n\t\tupdateEnumModification,\n\t\tremoveFieldModification,\n\t\tupdateFieldNameModification,\n\t\tcreateRelationInverseSideModification,\n\t\tcreateRelationModification,\n\t\tupdateRelationOnDeleteModification,\n\t\tupdateRelationOrderByModification,\n\t\tmakeRelationNotNullModification,\n\t\tmakeRelationNullableModification,\n\t\tenableOrphanRemovalModification,\n\t\tdisableOrphanRemovalModification,\n\t\tupdateValidationSchemaModification,\n\t\tpatchValidationSchemaModification,\n\t\tconvertOneToManyRelationModification,\n\t\tconvertOneHasManyToOneHasOneRelationModification,\n\t\ttoggleEventLogModification,\n\t\ttoggleJunctionEventLogModification,\n\t\tconvertOneHasManyToManyHasManyRelationModification,\n\t\tconvertManyHasManyToJoiningEntityModification,\n\t\tupdateEntityOrderByModification,\n\t\tcreateTriggerModification,\n\t\tupdateTriggerModification,\n\t\tpatchTriggerModification,\n\t\tremoveTriggerModification,\n\t\tcreateTargetModification,\n\t\tupdateTargetModification,\n\t\tremoveTargetModification,\n\t]\n\n\texport const defaultFactoryMap: HandlerMap<any> = Object.fromEntries(handlers.map(it => [it.id, it]))\n}\n\nexport { ModificationHandlerFactory }\n"],"names":["ModificationHandlerFactory","removeIndexNamesModification","updateSettingsModification","updateAclSchemaModification","patchAclSchemaModification","createColumnModification","updateColumnDefinitionModification","updateColumnNameModification","createUniqueConstraintModification","removeUniqueConstraintModification","createIndexModification","removeIndexModification","createEntityModification","removeEntityModification","updateEntityNameModification","updateEntityTableNameModification","updateViewModification","createViewModification","createEnumModification","removeEnumModification","updateEnumModification","removeFieldModification","updateFieldNameModification","createRelationInverseSideModification","createRelationModification","updateRelationOnDeleteModification","updateRelationOrderByModification","makeRelationNotNullModification","makeRelationNullableModification","enableOrphanRemovalModification","disableOrphanRemovalModification","updateValidationSchemaModification","patchValidationSchemaModification","convertOneToManyRelationModification","convertOneHasManyToOneHasOneRelationModification","toggleEventLogModification","toggleJunctionEventLogModification","convertOneHasManyToManyHasManyRelationModification","convertManyHasManyToJoiningEntityModification","updateEntityOrderByModification","createTriggerModification","updateTriggerModification","patchTriggerModification","removeTriggerModification","createTargetModification","updateTargetModification","removeTargetModification"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCA,MAAM,2BAA2B;AAAA,EAChC,YAA6B,KAAoD;AAApD,SAAA,MAAA;AAAA,EAAqD;AAAA,EAE3E,OAAU,MAAc,MAAS,QAAgB,SAA6D;AACpH,QAAI,CAAC,KAAK,IAAI,IAAI,GAAG;AACpB,YAAM,IAAI,MAAM,sCAAsC,IAAI,EAAE;AAAA,IAC7D;AACA,WAAO,KAAK,IAAI,IAAI,EAAE,cAAc,MAAM,QAAQ,OAAO;AAAA,EAC1D;AACD;AAAA,CAEA,CAAUA,gCAAV;AAGC,QAAM,WAAW;AAAA,IAChBC,6BAAAA;AAAAA,IACAC,2BAAAA;AAAAA,IACAC,4BAAAA;AAAAA,IACAC,2BAAAA;AAAAA,IACAC,yBAAAA;AAAAA,IACAC,mCAAAA;AAAAA,IACAC,6BAAAA;AAAAA,IACAC,mCAAAA;AAAAA,IACAC,mCAAAA;AAAAA,IACAC,wBAAAA;AAAAA,IACAC,wBAAAA;AAAAA,IACAC,yBAAAA;AAAAA,IACAC,yBAAAA;AAAAA,IACAC,6BAAAA;AAAAA,IACAC,kCAAAA;AAAAA,IACAC,uBAAAA;AAAAA,IACAC,uBAAAA;AAAAA,IACAC,uBAAAA;AAAAA,IACAC,uBAAAA;AAAAA,IACAC,uBAAAA;AAAAA,IACAC,wBAAAA;AAAAA,IACAC,4BAAAA;AAAAA,IACAC,sCAAAA;AAAAA,IACAC,2BAAAA;AAAAA,IACAC,mCAAAA;AAAAA,IACAC,kCAAAA;AAAAA,IACAC,gCAAAA;AAAAA,IACAC,iCAAAA;AAAAA,IACAC,gCAAAA;AAAAA,IACAC,iCAAAA;AAAAA,IACAC,mCAAAA;AAAAA,IACAC,kCAAAA;AAAAA,IACAC,qCAAAA;AAAAA,IACAC,iDAAAA;AAAAA,IACAC,2BAAAA;AAAAA,IACAC,mCAAAA;AAAAA,IACAC,mDAAAA;AAAAA,IACAC,8CAAAA;AAAAA,IACAC,gCAAAA;AAAAA,IACAC,0BAAAA;AAAAA,IACAC,0BAAAA;AAAAA,IACAC,yBAAAA;AAAAA,IACAC,0BAAAA;AAAAA,IACAC,yBAAAA;AAAAA,IACAC,yBAAAA;AAAAA,IACAC,yBAAAA;AAAAA,EAAA;AAGY9C,8BAAA,oBAAqC,OAAO,YAAY,SAAS,IAAI,CAAA,OAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;AAAA,GApD3F,+BAAA,6BAAA,CAAA,EAAA;;"}
|
|
@@ -19,6 +19,7 @@ import { removeEnumModification } from "./enums/RemoveEnumModification.js";
|
|
|
19
19
|
import { updateEnumModification } from "./enums/UpdateEnumModification.js";
|
|
20
20
|
import { removeFieldModification } from "./fields/RemoveFieldModification.js";
|
|
21
21
|
import { updateFieldNameModification } from "./fields/UpdateFieldNameModification.js";
|
|
22
|
+
import { convertManyHasManyToJoiningEntityModification } from "./relations/ConvertManyHasManyToJoiningEntityModification.js";
|
|
22
23
|
import { convertOneHasManyToManyHasManyRelationModification } from "./relations/ConvertOneHasManyToManyHasManyRelationModification.js";
|
|
23
24
|
import { convertOneToManyRelationModification } from "./relations/ConvertOneToManyRelationModification.js";
|
|
24
25
|
import { createRelationInverseSideModification } from "./relations/CreateRelationInverseSideModification.js";
|
|
@@ -94,6 +95,7 @@ class ModificationHandlerFactory {
|
|
|
94
95
|
toggleEventLogModification,
|
|
95
96
|
toggleJunctionEventLogModification,
|
|
96
97
|
convertOneHasManyToManyHasManyRelationModification,
|
|
98
|
+
convertManyHasManyToJoiningEntityModification,
|
|
97
99
|
updateEntityOrderByModification,
|
|
98
100
|
createTriggerModification,
|
|
99
101
|
updateTriggerModification,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModificationHandlerFactory.js","sources":["../../../../../packages/schema-migrations/src/modifications/ModificationHandlerFactory.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport { ModificationHandler, ModificationHandlerOptions, ModificationType } from './ModificationHandler'\nimport { patchAclSchemaModification, updateAclSchemaModification } from './acl'\nimport { createColumnModification, updateColumnDefinitionModification, updateColumnNameModification } from './columns'\nimport { createUniqueConstraintModification, removeUniqueConstraintModification } from './constraints'\nimport {\n\tcreateEntityModification,\n\tcreateViewModification,\n\tremoveEntityModification,\n\ttoggleEventLogModification,\n\tupdateEntityNameModification,\n\tupdateEntityTableNameModification,\n} from './entities'\nimport { updateViewModification } from './entities/UpdateViewModification'\nimport { createEnumModification, removeEnumModification, updateEnumModification } from './enums'\nimport { removeFieldModification, updateFieldNameModification } from './fields'\nimport {\n\tconvertOneHasManyToManyHasManyRelationModification,\n\tconvertOneToManyRelationModification,\n\tcreateRelationInverseSideModification,\n\tcreateRelationModification,\n\tdisableOrphanRemovalModification,\n\tenableOrphanRemovalModification,\n\tmakeRelationNotNullModification,\n\tmakeRelationNullableModification,\n\ttoggleJunctionEventLogModification,\n\tupdateRelationOnDeleteModification,\n\tupdateRelationOrderByModification,\n} from './relations'\nimport { patchValidationSchemaModification, updateValidationSchemaModification } from './validation'\nimport { createIndexModification, removeIndexModification } from './indexes'\nimport { updateSettingsModification } from './settings'\nimport { createTriggerModification, patchTriggerModification, removeTriggerModification, updateTriggerModification } from './actions'\nimport { createTargetModification } from './actions/CreateTargetModification'\nimport { removeTargetModification } from './actions/RemoveTargetModification'\nimport { updateTargetModification } from './actions/UpdateTargetModification'\nimport { updateEntityOrderByModification } from './entities/UpdateEntityOrderByModification'\nimport { removeIndexNamesModification } from './upgrade/RemoveIndexNamesModification'\nimport { convertOneHasManyToOneHasOneRelationModification } from './relations/ConvertOneHasManyToOneHasOneRelationModification'\n\nclass ModificationHandlerFactory {\n\tconstructor(private readonly map: Record<string, ModificationType<string, any>>) {}\n\n\tpublic create<D>(name: string, data: D, schema: Schema, options: ModificationHandlerOptions): ModificationHandler<D> {\n\t\tif (!this.map[name]) {\n\t\t\tthrow new Error(`Undefined modification handler for ${name}`)\n\t\t}\n\t\treturn this.map[name].createHandler(data, schema, options)\n\t}\n}\n\nnamespace ModificationHandlerFactory {\n\ttype HandlerMap<D> = { [modificationName: string]: ModificationType<string, D> }\n\n\tconst handlers = [\n\t\tremoveIndexNamesModification,\n\t\tupdateSettingsModification,\n\t\tupdateAclSchemaModification,\n\t\tpatchAclSchemaModification,\n\t\tcreateColumnModification,\n\t\tupdateColumnDefinitionModification,\n\t\tupdateColumnNameModification,\n\t\tcreateUniqueConstraintModification,\n\t\tremoveUniqueConstraintModification,\n\t\tcreateIndexModification,\n\t\tremoveIndexModification,\n\t\tcreateEntityModification,\n\t\tremoveEntityModification,\n\t\tupdateEntityNameModification,\n\t\tupdateEntityTableNameModification,\n\t\tupdateViewModification,\n\t\tcreateViewModification,\n\t\tcreateEnumModification,\n\t\tremoveEnumModification,\n\t\tupdateEnumModification,\n\t\tremoveFieldModification,\n\t\tupdateFieldNameModification,\n\t\tcreateRelationInverseSideModification,\n\t\tcreateRelationModification,\n\t\tupdateRelationOnDeleteModification,\n\t\tupdateRelationOrderByModification,\n\t\tmakeRelationNotNullModification,\n\t\tmakeRelationNullableModification,\n\t\tenableOrphanRemovalModification,\n\t\tdisableOrphanRemovalModification,\n\t\tupdateValidationSchemaModification,\n\t\tpatchValidationSchemaModification,\n\t\tconvertOneToManyRelationModification,\n\t\tconvertOneHasManyToOneHasOneRelationModification,\n\t\ttoggleEventLogModification,\n\t\ttoggleJunctionEventLogModification,\n\t\tconvertOneHasManyToManyHasManyRelationModification,\n\t\tupdateEntityOrderByModification,\n\t\tcreateTriggerModification,\n\t\tupdateTriggerModification,\n\t\tpatchTriggerModification,\n\t\tremoveTriggerModification,\n\t\tcreateTargetModification,\n\t\tupdateTargetModification,\n\t\tremoveTargetModification,\n\t]\n\n\texport const defaultFactoryMap: HandlerMap<any> = Object.fromEntries(handlers.map(it => [it.id, it]))\n}\n\nexport { ModificationHandlerFactory }\n"],"names":["ModificationHandlerFactory"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ModificationHandlerFactory.js","sources":["../../../../../packages/schema-migrations/src/modifications/ModificationHandlerFactory.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport { ModificationHandler, ModificationHandlerOptions, ModificationType } from './ModificationHandler.js'\nimport { patchAclSchemaModification, updateAclSchemaModification } from './acl/index.js'\nimport { createColumnModification, updateColumnDefinitionModification, updateColumnNameModification } from './columns/index.js'\nimport { createUniqueConstraintModification, removeUniqueConstraintModification } from './constraints/index.js'\nimport {\n\tcreateEntityModification,\n\tcreateViewModification,\n\tremoveEntityModification,\n\ttoggleEventLogModification,\n\tupdateEntityNameModification,\n\tupdateEntityTableNameModification,\n} from './entities/index.js'\nimport { updateViewModification } from './entities/UpdateViewModification.js'\nimport { createEnumModification, removeEnumModification, updateEnumModification } from './enums/index.js'\nimport { removeFieldModification, updateFieldNameModification } from './fields/index.js'\nimport {\n\tconvertManyHasManyToJoiningEntityModification,\n\tconvertOneHasManyToManyHasManyRelationModification,\n\tconvertOneToManyRelationModification,\n\tcreateRelationInverseSideModification,\n\tcreateRelationModification,\n\tdisableOrphanRemovalModification,\n\tenableOrphanRemovalModification,\n\tmakeRelationNotNullModification,\n\tmakeRelationNullableModification,\n\ttoggleJunctionEventLogModification,\n\tupdateRelationOnDeleteModification,\n\tupdateRelationOrderByModification,\n} from './relations/index.js'\nimport { patchValidationSchemaModification, updateValidationSchemaModification } from './validation/index.js'\nimport { createIndexModification, removeIndexModification } from './indexes/index.js'\nimport { updateSettingsModification } from './settings/index.js'\nimport { createTriggerModification, patchTriggerModification, removeTriggerModification, updateTriggerModification } from './actions/index.js'\nimport { createTargetModification } from './actions/CreateTargetModification.js'\nimport { removeTargetModification } from './actions/RemoveTargetModification.js'\nimport { updateTargetModification } from './actions/UpdateTargetModification.js'\nimport { updateEntityOrderByModification } from './entities/UpdateEntityOrderByModification.js'\nimport { removeIndexNamesModification } from './upgrade/RemoveIndexNamesModification.js'\nimport { convertOneHasManyToOneHasOneRelationModification } from './relations/ConvertOneHasManyToOneHasOneRelationModification.js'\n\nclass ModificationHandlerFactory {\n\tconstructor(private readonly map: Record<string, ModificationType<string, any>>) {}\n\n\tpublic create<D>(name: string, data: D, schema: Schema, options: ModificationHandlerOptions): ModificationHandler<D> {\n\t\tif (!this.map[name]) {\n\t\t\tthrow new Error(`Undefined modification handler for ${name}`)\n\t\t}\n\t\treturn this.map[name].createHandler(data, schema, options)\n\t}\n}\n\nnamespace ModificationHandlerFactory {\n\ttype HandlerMap<D> = { [modificationName: string]: ModificationType<string, D> }\n\n\tconst handlers = [\n\t\tremoveIndexNamesModification,\n\t\tupdateSettingsModification,\n\t\tupdateAclSchemaModification,\n\t\tpatchAclSchemaModification,\n\t\tcreateColumnModification,\n\t\tupdateColumnDefinitionModification,\n\t\tupdateColumnNameModification,\n\t\tcreateUniqueConstraintModification,\n\t\tremoveUniqueConstraintModification,\n\t\tcreateIndexModification,\n\t\tremoveIndexModification,\n\t\tcreateEntityModification,\n\t\tremoveEntityModification,\n\t\tupdateEntityNameModification,\n\t\tupdateEntityTableNameModification,\n\t\tupdateViewModification,\n\t\tcreateViewModification,\n\t\tcreateEnumModification,\n\t\tremoveEnumModification,\n\t\tupdateEnumModification,\n\t\tremoveFieldModification,\n\t\tupdateFieldNameModification,\n\t\tcreateRelationInverseSideModification,\n\t\tcreateRelationModification,\n\t\tupdateRelationOnDeleteModification,\n\t\tupdateRelationOrderByModification,\n\t\tmakeRelationNotNullModification,\n\t\tmakeRelationNullableModification,\n\t\tenableOrphanRemovalModification,\n\t\tdisableOrphanRemovalModification,\n\t\tupdateValidationSchemaModification,\n\t\tpatchValidationSchemaModification,\n\t\tconvertOneToManyRelationModification,\n\t\tconvertOneHasManyToOneHasOneRelationModification,\n\t\ttoggleEventLogModification,\n\t\ttoggleJunctionEventLogModification,\n\t\tconvertOneHasManyToManyHasManyRelationModification,\n\t\tconvertManyHasManyToJoiningEntityModification,\n\t\tupdateEntityOrderByModification,\n\t\tcreateTriggerModification,\n\t\tupdateTriggerModification,\n\t\tpatchTriggerModification,\n\t\tremoveTriggerModification,\n\t\tcreateTargetModification,\n\t\tupdateTargetModification,\n\t\tremoveTargetModification,\n\t]\n\n\texport const defaultFactoryMap: HandlerMap<any> = Object.fromEntries(handlers.map(it => [it.id, it]))\n}\n\nexport { ModificationHandlerFactory }\n"],"names":["ModificationHandlerFactory"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCA,MAAM,2BAA2B;AAAA,EAChC,YAA6B,KAAoD;AAApD,SAAA,MAAA;AAAA,EAAqD;AAAA,EAE3E,OAAU,MAAc,MAAS,QAAgB,SAA6D;AACpH,QAAI,CAAC,KAAK,IAAI,IAAI,GAAG;AACpB,YAAM,IAAI,MAAM,sCAAsC,IAAI,EAAE;AAAA,IAC7D;AACA,WAAO,KAAK,IAAI,IAAI,EAAE,cAAc,MAAM,QAAQ,OAAO;AAAA,EAC1D;AACD;AAAA,CAEA,CAAUA,gCAAV;AAGC,QAAM,WAAW;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAGYA,8BAAA,oBAAqC,OAAO,YAAY,SAAS,IAAI,CAAA,OAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;AAAA,GApD3F,+BAAA,6BAAA,CAAA,EAAA;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NoopModification.cjs","sources":["../../../../../packages/schema-migrations/src/modifications/NoopModification.ts"],"sourcesContent":["import { ModificationHandler } from './ModificationHandler'\nimport { MigrationBuilder } from '@contember/database-migrations'\nimport { SchemaUpdater } from './utils/schemaUpdateUtils'\n\nexport class NoopModification implements ModificationHandler<{}> {\n\tcreateSql(builder: MigrationBuilder): void | Promise<void> {}\n\n\tgetSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => schema\n\t}\n\n\tdescribe() {\n\t\treturn { message: '[internal]' }\n\t}\n}\n"],"names":[],"mappings":";;AAIO,MAAM,iBAAoD;AAAA,EAChE,UAAU,SAAiD;AAAA,EAAC;AAAA,EAE5D,mBAAkC;AACjC,WAAO,CAAC,EAAE,OAAA,MAAa;AAAA,EACxB;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,aAAA;AAAA,EACnB;AACD;;"}
|
|
1
|
+
{"version":3,"file":"NoopModification.cjs","sources":["../../../../../packages/schema-migrations/src/modifications/NoopModification.ts"],"sourcesContent":["import { ModificationHandler } from './ModificationHandler.js'\nimport { MigrationBuilder } from '@contember/database-migrations'\nimport { SchemaUpdater } from './utils/schemaUpdateUtils.js'\n\nexport class NoopModification implements ModificationHandler<{}> {\n\tcreateSql(builder: MigrationBuilder): void | Promise<void> {}\n\n\tgetSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => schema\n\t}\n\n\tdescribe() {\n\t\treturn { message: '[internal]' }\n\t}\n}\n"],"names":[],"mappings":";;AAIO,MAAM,iBAAoD;AAAA,EAChE,UAAU,SAAiD;AAAA,EAAC;AAAA,EAE5D,mBAAkC;AACjC,WAAO,CAAC,EAAE,OAAA,MAAa;AAAA,EACxB;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,aAAA;AAAA,EACnB;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NoopModification.js","sources":["../../../../../packages/schema-migrations/src/modifications/NoopModification.ts"],"sourcesContent":["import { ModificationHandler } from './ModificationHandler'\nimport { MigrationBuilder } from '@contember/database-migrations'\nimport { SchemaUpdater } from './utils/schemaUpdateUtils'\n\nexport class NoopModification implements ModificationHandler<{}> {\n\tcreateSql(builder: MigrationBuilder): void | Promise<void> {}\n\n\tgetSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => schema\n\t}\n\n\tdescribe() {\n\t\treturn { message: '[internal]' }\n\t}\n}\n"],"names":[],"mappings":"AAIO,MAAM,iBAAoD;AAAA,EAChE,UAAU,SAAiD;AAAA,EAAC;AAAA,EAE5D,mBAAkC;AACjC,WAAO,CAAC,EAAE,OAAA,MAAa;AAAA,EACxB;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,aAAA;AAAA,EACnB;AACD;"}
|
|
1
|
+
{"version":3,"file":"NoopModification.js","sources":["../../../../../packages/schema-migrations/src/modifications/NoopModification.ts"],"sourcesContent":["import { ModificationHandler } from './ModificationHandler.js'\nimport { MigrationBuilder } from '@contember/database-migrations'\nimport { SchemaUpdater } from './utils/schemaUpdateUtils.js'\n\nexport class NoopModification implements ModificationHandler<{}> {\n\tcreateSql(builder: MigrationBuilder): void | Promise<void> {}\n\n\tgetSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => schema\n\t}\n\n\tdescribe() {\n\t\treturn { message: '[internal]' }\n\t}\n}\n"],"names":[],"mappings":"AAIO,MAAM,iBAAoD;AAAA,EAChE,UAAU,SAAiD;AAAA,EAAC;AAAA,EAE5D,mBAAkC;AACjC,WAAO,CAAC,EAAE,OAAA,MAAa;AAAA,EACxB;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,aAAA;AAAA,EACnB;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PatchAclSchemaModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/acl/PatchAclSchemaModification.ts"],"sourcesContent":["import { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, ModificationHandler } from '../ModificationHandler'\nimport { applyPatch, Operation } from 'rfc6902'\nimport deepCopy from '../../utils/deepCopy'\n\nexport class PatchAclSchemaModificationHandler implements ModificationHandler<PatchAclSchemaModificationData> {\n\tconstructor(private readonly data: PatchAclSchemaModificationData) {}\n\n\tpublic createSql(): void {}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => {\n\t\t\tconst acl = deepCopy(schema.acl)\n\t\t\tconst result = applyPatch(acl, this.data.patch).filter(it => it !== null)\n\t\t\tif (result.length > 0) {\n\t\t\t\tthrow result[0]\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...schema,\n\t\t\t\tacl,\n\t\t\t}\n\t\t}\n\t}\n\n\tdescribe() {\n\t\treturn { message: 'Update ACL schema' }\n\t}\n}\n\nexport const patchAclSchemaModification = createModificationType({\n\tid: 'patchAclSchema',\n\thandler: PatchAclSchemaModificationHandler,\n})\n\nexport interface PatchAclSchemaModificationData {\n\tpatch: Operation[]\n}\n"],"names":["applyPatch","createModificationType"],"mappings":";;;;;AAKO,MAAM,kCAAiG;AAAA,EAC7G,YAA6B,MAAsC;AAAtC,SAAA,OAAA;AAAA,EAAuC;AAAA,EAE7D,YAAkB;AAAA,EAAC;AAAA,EAEnB,mBAAkC;AACxC,WAAO,CAAC,EAAE,aAAa;AACtB,YAAM,MAAM,SAAS,OAAO,GAAG;AAC/B,YAAM,SAASA,QAAAA,WAAW,KAAK,KAAK,KAAK,KAAK,EAAE,OAAO,CAAA,OAAM,OAAO,IAAI;AACxE,UAAI,OAAO,SAAS,GAAG;AACtB,cAAM,OAAO,CAAC;AAAA,MACf;AAEA,aAAO;AAAA,QACN,GAAG;AAAA,QACH;AAAA,MAAA;AAAA,IAEF;AAAA,EACD;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,oBAAA;AAAA,EACnB;AACD;AAEO,MAAM,6BAA6BC,oBAAAA,uBAAuB;AAAA,EAChE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;;;"}
|
|
1
|
+
{"version":3,"file":"PatchAclSchemaModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/acl/PatchAclSchemaModification.ts"],"sourcesContent":["import { SchemaUpdater } from '../utils/schemaUpdateUtils.js'\nimport { createModificationType, ModificationHandler } from '../ModificationHandler.js'\nimport { applyPatch, Operation } from 'rfc6902'\nimport deepCopy from '../../utils/deepCopy.js'\n\nexport class PatchAclSchemaModificationHandler implements ModificationHandler<PatchAclSchemaModificationData> {\n\tconstructor(private readonly data: PatchAclSchemaModificationData) {}\n\n\tpublic createSql(): void {}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => {\n\t\t\tconst acl = deepCopy(schema.acl)\n\t\t\tconst result = applyPatch(acl, this.data.patch).filter(it => it !== null)\n\t\t\tif (result.length > 0) {\n\t\t\t\tthrow result[0]\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...schema,\n\t\t\t\tacl,\n\t\t\t}\n\t\t}\n\t}\n\n\tdescribe() {\n\t\treturn { message: 'Update ACL schema' }\n\t}\n}\n\nexport const patchAclSchemaModification = createModificationType({\n\tid: 'patchAclSchema',\n\thandler: PatchAclSchemaModificationHandler,\n})\n\nexport interface PatchAclSchemaModificationData {\n\tpatch: Operation[]\n}\n"],"names":["applyPatch","createModificationType"],"mappings":";;;;;AAKO,MAAM,kCAAiG;AAAA,EAC7G,YAA6B,MAAsC;AAAtC,SAAA,OAAA;AAAA,EAAuC;AAAA,EAE7D,YAAkB;AAAA,EAAC;AAAA,EAEnB,mBAAkC;AACxC,WAAO,CAAC,EAAE,aAAa;AACtB,YAAM,MAAM,SAAS,OAAO,GAAG;AAC/B,YAAM,SAASA,QAAAA,WAAW,KAAK,KAAK,KAAK,KAAK,EAAE,OAAO,CAAA,OAAM,OAAO,IAAI;AACxE,UAAI,OAAO,SAAS,GAAG;AACtB,cAAM,OAAO,CAAC;AAAA,MACf;AAEA,aAAO;AAAA,QACN,GAAG;AAAA,QACH;AAAA,MAAA;AAAA,IAEF;AAAA,EACD;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,oBAAA;AAAA,EACnB;AACD;AAEO,MAAM,6BAA6BC,oBAAAA,uBAAuB;AAAA,EAChE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PatchAclSchemaModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/acl/PatchAclSchemaModification.ts"],"sourcesContent":["import { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, ModificationHandler } from '../ModificationHandler'\nimport { applyPatch, Operation } from 'rfc6902'\nimport deepCopy from '../../utils/deepCopy'\n\nexport class PatchAclSchemaModificationHandler implements ModificationHandler<PatchAclSchemaModificationData> {\n\tconstructor(private readonly data: PatchAclSchemaModificationData) {}\n\n\tpublic createSql(): void {}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => {\n\t\t\tconst acl = deepCopy(schema.acl)\n\t\t\tconst result = applyPatch(acl, this.data.patch).filter(it => it !== null)\n\t\t\tif (result.length > 0) {\n\t\t\t\tthrow result[0]\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...schema,\n\t\t\t\tacl,\n\t\t\t}\n\t\t}\n\t}\n\n\tdescribe() {\n\t\treturn { message: 'Update ACL schema' }\n\t}\n}\n\nexport const patchAclSchemaModification = createModificationType({\n\tid: 'patchAclSchema',\n\thandler: PatchAclSchemaModificationHandler,\n})\n\nexport interface PatchAclSchemaModificationData {\n\tpatch: Operation[]\n}\n"],"names":[],"mappings":";;;AAKO,MAAM,kCAAiG;AAAA,EAC7G,YAA6B,MAAsC;AAAtC,SAAA,OAAA;AAAA,EAAuC;AAAA,EAE7D,YAAkB;AAAA,EAAC;AAAA,EAEnB,mBAAkC;AACxC,WAAO,CAAC,EAAE,aAAa;AACtB,YAAM,MAAM,SAAS,OAAO,GAAG;AAC/B,YAAM,SAAS,WAAW,KAAK,KAAK,KAAK,KAAK,EAAE,OAAO,CAAA,OAAM,OAAO,IAAI;AACxE,UAAI,OAAO,SAAS,GAAG;AACtB,cAAM,OAAO,CAAC;AAAA,MACf;AAEA,aAAO;AAAA,QACN,GAAG;AAAA,QACH;AAAA,MAAA;AAAA,IAEF;AAAA,EACD;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,oBAAA;AAAA,EACnB;AACD;AAEO,MAAM,6BAA6B,uBAAuB;AAAA,EAChE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;"}
|
|
1
|
+
{"version":3,"file":"PatchAclSchemaModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/acl/PatchAclSchemaModification.ts"],"sourcesContent":["import { SchemaUpdater } from '../utils/schemaUpdateUtils.js'\nimport { createModificationType, ModificationHandler } from '../ModificationHandler.js'\nimport { applyPatch, Operation } from 'rfc6902'\nimport deepCopy from '../../utils/deepCopy.js'\n\nexport class PatchAclSchemaModificationHandler implements ModificationHandler<PatchAclSchemaModificationData> {\n\tconstructor(private readonly data: PatchAclSchemaModificationData) {}\n\n\tpublic createSql(): void {}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => {\n\t\t\tconst acl = deepCopy(schema.acl)\n\t\t\tconst result = applyPatch(acl, this.data.patch).filter(it => it !== null)\n\t\t\tif (result.length > 0) {\n\t\t\t\tthrow result[0]\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...schema,\n\t\t\t\tacl,\n\t\t\t}\n\t\t}\n\t}\n\n\tdescribe() {\n\t\treturn { message: 'Update ACL schema' }\n\t}\n}\n\nexport const patchAclSchemaModification = createModificationType({\n\tid: 'patchAclSchema',\n\thandler: PatchAclSchemaModificationHandler,\n})\n\nexport interface PatchAclSchemaModificationData {\n\tpatch: Operation[]\n}\n"],"names":[],"mappings":";;;AAKO,MAAM,kCAAiG;AAAA,EAC7G,YAA6B,MAAsC;AAAtC,SAAA,OAAA;AAAA,EAAuC;AAAA,EAE7D,YAAkB;AAAA,EAAC;AAAA,EAEnB,mBAAkC;AACxC,WAAO,CAAC,EAAE,aAAa;AACtB,YAAM,MAAM,SAAS,OAAO,GAAG;AAC/B,YAAM,SAAS,WAAW,KAAK,KAAK,KAAK,KAAK,EAAE,OAAO,CAAA,OAAM,OAAO,IAAI;AACxE,UAAI,OAAO,SAAS,GAAG;AACtB,cAAM,OAAO,CAAC;AAAA,MACf;AAEA,aAAO;AAAA,QACN,GAAG;AAAA,QACH;AAAA,MAAA;AAAA,IAEF;AAAA,EACD;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,oBAAA;AAAA,EACnB;AACD;AAEO,MAAM,6BAA6B,uBAAuB;AAAA,EAChE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;"}
|