@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
package/dist/development/src/modifications/relations/DisableOrphanRemovalModification.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DisableOrphanRemovalModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/relations/DisableOrphanRemovalModification.ts"],"sourcesContent":["import { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport { isOwningRelation } from '@contember/schema-utils'\nimport { updateRelations } from '../utils/diffUtils'\n\nexport class DisableOrphanRemovalModificationHandler implements ModificationHandler<DisableOrphanRemovalModificationData> {\n\tconstructor(private readonly data: DisableOrphanRemovalModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(): void {}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, fieldName } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(\n\t\t\t\tentityName,\n\t\t\t\tupdateField<Model.OneHasOneOwningRelation>(fieldName, ({ field: { orphanRemoval, ...field } }) => field),\n\t\t\t),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn {\n\t\t\tmessage: `Disable orphan removal on ${this.data.entityName}.${this.data.fieldName}`,\n\t\t}\n\t}\n}\n\nexport interface DisableOrphanRemovalModificationData {\n\tentityName: string\n\tfieldName: string\n}\n\nexport const disableOrphanRemovalModification = createModificationType({\n\tid: 'disableOrphanRemoval',\n\thandler: DisableOrphanRemovalModificationHandler,\n})\n\nexport class DisableOrphanRemovalDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn updateRelations(originalSchema, updatedSchema, ({ originalRelation, updatedRelation, updatedEntity }) => {\n\t\t\tif (\n\t\t\t\tisOwningRelation(originalRelation)\n\t\t\t\t&& isOwningRelation(updatedRelation)\n\t\t\t\t&& originalRelation.type === Model.RelationType.OneHasOne\n\t\t\t\t&& updatedRelation.type === Model.RelationType.OneHasOne\n\t\t\t\t&& originalRelation.orphanRemoval\n\t\t\t\t&& !updatedRelation.orphanRemoval\n\t\t\t) {\n\t\t\t\treturn disableOrphanRemovalModification.createModification({\n\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\tfieldName: updatedRelation.name,\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn undefined\n\t\t})\n\t}\n}\n"],"names":["schema","updateModel","updateEntity","updateField","createModificationType","updateRelations","isOwningRelation","Model"],"mappings":";;;;;;;AAMO,MAAM,wCAA6G;AAAA,EACzH,YAA6B,MAA6DA,SAAgB;AAA7E,SAAA,OAAA;AAA6D,SAAA,SAAAA;AAAA,EAAiB;AAAA,EAEpG,YAAkB;AAAA,EAAC;AAAA,EAEnB,mBAAkC;AACxC,UAAM,EAAE,YAAY,UAAA,IAAc,KAAK;AACvC,WAAOC,kBAAAA;AAAAA,MACNC,kBAAAA;AAAAA,QACC;AAAA,QACAC,8BAA2C,WAAW,CAAC,EAAE,OAAO,EAAE,eAAe,GAAG,MAAA,EAAM,MAAQ,KAAK;AAAA,MAAA;AAAA,IACxG;AAAA,EAEF;AAAA,EAEA,WAAW;AACV,WAAO;AAAA,MACN,SAAS,6BAA6B,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS;AAAA,IAAA;AAAA,EAEnF;AACD;AAOO,MAAM,mCAAmCC,oBAAAA,uBAAuB;AAAA,EACtE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,2BAA6C;AAAA,EACzD,WAAW,gBAAwB,eAAuB;AACzD,WAAOC,UAAAA,gBAAgB,gBAAgB,eAAe,CAAC,EAAE,kBAAkB,iBAAiB,oBAAoB;AAC/G,UACCC,YAAAA,iBAAiB,gBAAgB,KAC9BA,YAAAA,iBAAiB,eAAe,KAChC,iBAAiB,SAASC,OAAAA,MAAM,aAAa,aAC7C,gBAAgB,SAASA,OAAAA,MAAM,aAAa,aAC5C,iBAAiB,iBACjB,CAAC,gBAAgB,eACnB;AACD,eAAO,iCAAiC,mBAAmB;AAAA,UAC1D,YAAY,cAAc;AAAA,UAC1B,WAAW,gBAAgB;AAAA,QAAA,CAC3B;AAAA,MACF;AACA,aAAO;AAAA,IACR,CAAC;AAAA,EACF;AACD;;;;"}
|
|
1
|
+
{"version":3,"file":"DisableOrphanRemovalModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/relations/DisableOrphanRemovalModification.ts"],"sourcesContent":["import { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils.js'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler.js'\nimport { isOwningRelation } from '@contember/schema-utils'\nimport { updateRelations } from '../utils/diffUtils.js'\n\nexport class DisableOrphanRemovalModificationHandler implements ModificationHandler<DisableOrphanRemovalModificationData> {\n\tconstructor(private readonly data: DisableOrphanRemovalModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(): void {}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, fieldName } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(\n\t\t\t\tentityName,\n\t\t\t\tupdateField<Model.OneHasOneOwningRelation>(fieldName, ({ field: { orphanRemoval, ...field } }) => field),\n\t\t\t),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn {\n\t\t\tmessage: `Disable orphan removal on ${this.data.entityName}.${this.data.fieldName}`,\n\t\t}\n\t}\n}\n\nexport interface DisableOrphanRemovalModificationData {\n\tentityName: string\n\tfieldName: string\n}\n\nexport const disableOrphanRemovalModification = createModificationType({\n\tid: 'disableOrphanRemoval',\n\thandler: DisableOrphanRemovalModificationHandler,\n})\n\nexport class DisableOrphanRemovalDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn updateRelations(originalSchema, updatedSchema, ({ originalRelation, updatedRelation, updatedEntity }) => {\n\t\t\tif (\n\t\t\t\tisOwningRelation(originalRelation)\n\t\t\t\t&& isOwningRelation(updatedRelation)\n\t\t\t\t&& originalRelation.type === Model.RelationType.OneHasOne\n\t\t\t\t&& updatedRelation.type === Model.RelationType.OneHasOne\n\t\t\t\t&& originalRelation.orphanRemoval\n\t\t\t\t&& !updatedRelation.orphanRemoval\n\t\t\t) {\n\t\t\t\treturn disableOrphanRemovalModification.createModification({\n\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\tfieldName: updatedRelation.name,\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn undefined\n\t\t})\n\t}\n}\n"],"names":["schema","updateModel","updateEntity","updateField","createModificationType","updateRelations","isOwningRelation","Model"],"mappings":";;;;;;;AAMO,MAAM,wCAA6G;AAAA,EACzH,YAA6B,MAA6DA,SAAgB;AAA7E,SAAA,OAAA;AAA6D,SAAA,SAAAA;AAAA,EAAiB;AAAA,EAEpG,YAAkB;AAAA,EAAC;AAAA,EAEnB,mBAAkC;AACxC,UAAM,EAAE,YAAY,UAAA,IAAc,KAAK;AACvC,WAAOC,kBAAAA;AAAAA,MACNC,kBAAAA;AAAAA,QACC;AAAA,QACAC,8BAA2C,WAAW,CAAC,EAAE,OAAO,EAAE,eAAe,GAAG,MAAA,EAAM,MAAQ,KAAK;AAAA,MAAA;AAAA,IACxG;AAAA,EAEF;AAAA,EAEA,WAAW;AACV,WAAO;AAAA,MACN,SAAS,6BAA6B,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS;AAAA,IAAA;AAAA,EAEnF;AACD;AAOO,MAAM,mCAAmCC,oBAAAA,uBAAuB;AAAA,EACtE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,2BAA6C;AAAA,EACzD,WAAW,gBAAwB,eAAuB;AACzD,WAAOC,UAAAA,gBAAgB,gBAAgB,eAAe,CAAC,EAAE,kBAAkB,iBAAiB,oBAAoB;AAC/G,UACCC,YAAAA,iBAAiB,gBAAgB,KAC9BA,YAAAA,iBAAiB,eAAe,KAChC,iBAAiB,SAASC,OAAAA,MAAM,aAAa,aAC7C,gBAAgB,SAASA,OAAAA,MAAM,aAAa,aAC5C,iBAAiB,iBACjB,CAAC,gBAAgB,eACnB;AACD,eAAO,iCAAiC,mBAAmB;AAAA,UAC1D,YAAY,cAAc;AAAA,UAC1B,WAAW,gBAAgB;AAAA,QAAA,CAC3B;AAAA,MACF;AACA,aAAO;AAAA,IACR,CAAC;AAAA,EACF;AACD;;;;"}
|
package/dist/development/src/modifications/relations/DisableOrphanRemovalModification.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DisableOrphanRemovalModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/relations/DisableOrphanRemovalModification.ts"],"sourcesContent":["import { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport { isOwningRelation } from '@contember/schema-utils'\nimport { updateRelations } from '../utils/diffUtils'\n\nexport class DisableOrphanRemovalModificationHandler implements ModificationHandler<DisableOrphanRemovalModificationData> {\n\tconstructor(private readonly data: DisableOrphanRemovalModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(): void {}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, fieldName } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(\n\t\t\t\tentityName,\n\t\t\t\tupdateField<Model.OneHasOneOwningRelation>(fieldName, ({ field: { orphanRemoval, ...field } }) => field),\n\t\t\t),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn {\n\t\t\tmessage: `Disable orphan removal on ${this.data.entityName}.${this.data.fieldName}`,\n\t\t}\n\t}\n}\n\nexport interface DisableOrphanRemovalModificationData {\n\tentityName: string\n\tfieldName: string\n}\n\nexport const disableOrphanRemovalModification = createModificationType({\n\tid: 'disableOrphanRemoval',\n\thandler: DisableOrphanRemovalModificationHandler,\n})\n\nexport class DisableOrphanRemovalDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn updateRelations(originalSchema, updatedSchema, ({ originalRelation, updatedRelation, updatedEntity }) => {\n\t\t\tif (\n\t\t\t\tisOwningRelation(originalRelation)\n\t\t\t\t&& isOwningRelation(updatedRelation)\n\t\t\t\t&& originalRelation.type === Model.RelationType.OneHasOne\n\t\t\t\t&& updatedRelation.type === Model.RelationType.OneHasOne\n\t\t\t\t&& originalRelation.orphanRemoval\n\t\t\t\t&& !updatedRelation.orphanRemoval\n\t\t\t) {\n\t\t\t\treturn disableOrphanRemovalModification.createModification({\n\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\tfieldName: updatedRelation.name,\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn undefined\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;;;;AAMO,MAAM,wCAA6G;AAAA,EACzH,YAA6B,MAA6D,QAAgB;AAA7E,SAAA,OAAA;AAA6D,SAAA,SAAA;AAAA,EAAiB;AAAA,EAEpG,YAAkB;AAAA,EAAC;AAAA,EAEnB,mBAAkC;AACxC,UAAM,EAAE,YAAY,UAAA,IAAc,KAAK;AACvC,WAAO;AAAA,MACN;AAAA,QACC;AAAA,QACA,YAA2C,WAAW,CAAC,EAAE,OAAO,EAAE,eAAe,GAAG,MAAA,EAAM,MAAQ,KAAK;AAAA,MAAA;AAAA,IACxG;AAAA,EAEF;AAAA,EAEA,WAAW;AACV,WAAO;AAAA,MACN,SAAS,6BAA6B,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS;AAAA,IAAA;AAAA,EAEnF;AACD;AAOO,MAAM,mCAAmC,uBAAuB;AAAA,EACtE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,2BAA6C;AAAA,EACzD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,gBAAgB,gBAAgB,eAAe,CAAC,EAAE,kBAAkB,iBAAiB,oBAAoB;AAC/G,UACC,iBAAiB,gBAAgB,KAC9B,iBAAiB,eAAe,KAChC,iBAAiB,SAAS,MAAM,aAAa,aAC7C,gBAAgB,SAAS,MAAM,aAAa,aAC5C,iBAAiB,iBACjB,CAAC,gBAAgB,eACnB;AACD,eAAO,iCAAiC,mBAAmB;AAAA,UAC1D,YAAY,cAAc;AAAA,UAC1B,WAAW,gBAAgB;AAAA,QAAA,CAC3B;AAAA,MACF;AACA,aAAO;AAAA,IACR,CAAC;AAAA,EACF;AACD;"}
|
|
1
|
+
{"version":3,"file":"DisableOrphanRemovalModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/relations/DisableOrphanRemovalModification.ts"],"sourcesContent":["import { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils.js'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler.js'\nimport { isOwningRelation } from '@contember/schema-utils'\nimport { updateRelations } from '../utils/diffUtils.js'\n\nexport class DisableOrphanRemovalModificationHandler implements ModificationHandler<DisableOrphanRemovalModificationData> {\n\tconstructor(private readonly data: DisableOrphanRemovalModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(): void {}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, fieldName } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(\n\t\t\t\tentityName,\n\t\t\t\tupdateField<Model.OneHasOneOwningRelation>(fieldName, ({ field: { orphanRemoval, ...field } }) => field),\n\t\t\t),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn {\n\t\t\tmessage: `Disable orphan removal on ${this.data.entityName}.${this.data.fieldName}`,\n\t\t}\n\t}\n}\n\nexport interface DisableOrphanRemovalModificationData {\n\tentityName: string\n\tfieldName: string\n}\n\nexport const disableOrphanRemovalModification = createModificationType({\n\tid: 'disableOrphanRemoval',\n\thandler: DisableOrphanRemovalModificationHandler,\n})\n\nexport class DisableOrphanRemovalDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn updateRelations(originalSchema, updatedSchema, ({ originalRelation, updatedRelation, updatedEntity }) => {\n\t\t\tif (\n\t\t\t\tisOwningRelation(originalRelation)\n\t\t\t\t&& isOwningRelation(updatedRelation)\n\t\t\t\t&& originalRelation.type === Model.RelationType.OneHasOne\n\t\t\t\t&& updatedRelation.type === Model.RelationType.OneHasOne\n\t\t\t\t&& originalRelation.orphanRemoval\n\t\t\t\t&& !updatedRelation.orphanRemoval\n\t\t\t) {\n\t\t\t\treturn disableOrphanRemovalModification.createModification({\n\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\tfieldName: updatedRelation.name,\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn undefined\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;;;;AAMO,MAAM,wCAA6G;AAAA,EACzH,YAA6B,MAA6D,QAAgB;AAA7E,SAAA,OAAA;AAA6D,SAAA,SAAA;AAAA,EAAiB;AAAA,EAEpG,YAAkB;AAAA,EAAC;AAAA,EAEnB,mBAAkC;AACxC,UAAM,EAAE,YAAY,UAAA,IAAc,KAAK;AACvC,WAAO;AAAA,MACN;AAAA,QACC;AAAA,QACA,YAA2C,WAAW,CAAC,EAAE,OAAO,EAAE,eAAe,GAAG,MAAA,EAAM,MAAQ,KAAK;AAAA,MAAA;AAAA,IACxG;AAAA,EAEF;AAAA,EAEA,WAAW;AACV,WAAO;AAAA,MACN,SAAS,6BAA6B,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS;AAAA,IAAA;AAAA,EAEnF;AACD;AAOO,MAAM,mCAAmC,uBAAuB;AAAA,EACtE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,2BAA6C;AAAA,EACzD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,gBAAgB,gBAAgB,eAAe,CAAC,EAAE,kBAAkB,iBAAiB,oBAAoB;AAC/G,UACC,iBAAiB,gBAAgB,KAC9B,iBAAiB,eAAe,KAChC,iBAAiB,SAAS,MAAM,aAAa,aAC7C,gBAAgB,SAAS,MAAM,aAAa,aAC5C,iBAAiB,iBACjB,CAAC,gBAAgB,eACnB;AACD,eAAO,iCAAiC,mBAAmB;AAAA,UAC1D,YAAY,cAAc;AAAA,UAC1B,WAAW,gBAAgB;AAAA,QAAA,CAC3B;AAAA,MACF;AACA,aAAO;AAAA,IACR,CAAC;AAAA,EACF;AACD;"}
|
package/dist/development/src/modifications/relations/EnableOrphanRemovalModification.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnableOrphanRemovalModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/relations/EnableOrphanRemovalModification.ts"],"sourcesContent":["import { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport { isOwningRelation } from '@contember/schema-utils'\nimport { updateRelations } from '../utils/diffUtils'\n\nexport class EnableOrphanRemovalModificationHandler implements ModificationHandler<EnableOrphanRemovalModificationData> {\n\tconstructor(private readonly data: EnableOrphanRemovalModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(): void {}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, fieldName } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(\n\t\t\t\tentityName,\n\t\t\t\tupdateField<Model.OneHasOneOwningRelation>(fieldName, ({ field }) => ({\n\t\t\t\t\t...field,\n\t\t\t\t\torphanRemoval: true,\n\t\t\t\t})),\n\t\t\t),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn {\n\t\t\tmessage: `Enable orphan removal on ${this.data.entityName}.${this.data.fieldName}`,\n\t\t}\n\t}\n}\n\nexport interface EnableOrphanRemovalModificationData {\n\tentityName: string\n\tfieldName: string\n}\n\nexport const enableOrphanRemovalModification = createModificationType({\n\tid: 'enableOrphanRemoval',\n\thandler: EnableOrphanRemovalModificationHandler,\n})\n\nexport class EnableOrphanRemovalDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn updateRelations(originalSchema, updatedSchema, ({ originalRelation, updatedRelation, updatedEntity }) => {\n\t\t\tif (\n\t\t\t\tisOwningRelation(originalRelation)\n\t\t\t\t&& isOwningRelation(updatedRelation)\n\t\t\t\t&& originalRelation.type === Model.RelationType.OneHasOne\n\t\t\t\t&& updatedRelation.type === Model.RelationType.OneHasOne\n\t\t\t\t&& !originalRelation.orphanRemoval\n\t\t\t\t&& updatedRelation.orphanRemoval\n\t\t\t) {\n\t\t\t\treturn enableOrphanRemovalModification.createModification({\n\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\tfieldName: updatedRelation.name,\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn undefined\n\t\t})\n\t}\n}\n"],"names":["schema","updateModel","updateEntity","updateField","createModificationType","updateRelations","isOwningRelation","Model"],"mappings":";;;;;;;AAMO,MAAM,uCAA2G;AAAA,EACvH,YAA6B,MAA4DA,SAAgB;AAA5E,SAAA,OAAA;AAA4D,SAAA,SAAAA;AAAA,EAAiB;AAAA,EAEnG,YAAkB;AAAA,EAAC;AAAA,EAEnB,mBAAkC;AACxC,UAAM,EAAE,YAAY,UAAA,IAAc,KAAK;AACvC,WAAOC,kBAAAA;AAAAA,MACNC,kBAAAA;AAAAA,QACC;AAAA,QACAC,kBAAAA,YAA2C,WAAW,CAAC,EAAE,aAAa;AAAA,UACrE,GAAG;AAAA,UACH,eAAe;AAAA,QAAA,EACd;AAAA,MAAA;AAAA,IACH;AAAA,EAEF;AAAA,EAEA,WAAW;AACV,WAAO;AAAA,MACN,SAAS,4BAA4B,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS;AAAA,IAAA;AAAA,EAElF;AACD;AAOO,MAAM,kCAAkCC,oBAAAA,uBAAuB;AAAA,EACrE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,0BAA4C;AAAA,EACxD,WAAW,gBAAwB,eAAuB;AACzD,WAAOC,UAAAA,gBAAgB,gBAAgB,eAAe,CAAC,EAAE,kBAAkB,iBAAiB,oBAAoB;AAC/G,UACCC,YAAAA,iBAAiB,gBAAgB,KAC9BA,YAAAA,iBAAiB,eAAe,KAChC,iBAAiB,SAASC,OAAAA,MAAM,aAAa,aAC7C,gBAAgB,SAASA,OAAAA,MAAM,aAAa,aAC5C,CAAC,iBAAiB,iBAClB,gBAAgB,eAClB;AACD,eAAO,gCAAgC,mBAAmB;AAAA,UACzD,YAAY,cAAc;AAAA,UAC1B,WAAW,gBAAgB;AAAA,QAAA,CAC3B;AAAA,MACF;AACA,aAAO;AAAA,IACR,CAAC;AAAA,EACF;AACD;;;;"}
|
|
1
|
+
{"version":3,"file":"EnableOrphanRemovalModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/relations/EnableOrphanRemovalModification.ts"],"sourcesContent":["import { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils.js'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler.js'\nimport { isOwningRelation } from '@contember/schema-utils'\nimport { updateRelations } from '../utils/diffUtils.js'\n\nexport class EnableOrphanRemovalModificationHandler implements ModificationHandler<EnableOrphanRemovalModificationData> {\n\tconstructor(private readonly data: EnableOrphanRemovalModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(): void {}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, fieldName } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(\n\t\t\t\tentityName,\n\t\t\t\tupdateField<Model.OneHasOneOwningRelation>(fieldName, ({ field }) => ({\n\t\t\t\t\t...field,\n\t\t\t\t\torphanRemoval: true,\n\t\t\t\t})),\n\t\t\t),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn {\n\t\t\tmessage: `Enable orphan removal on ${this.data.entityName}.${this.data.fieldName}`,\n\t\t}\n\t}\n}\n\nexport interface EnableOrphanRemovalModificationData {\n\tentityName: string\n\tfieldName: string\n}\n\nexport const enableOrphanRemovalModification = createModificationType({\n\tid: 'enableOrphanRemoval',\n\thandler: EnableOrphanRemovalModificationHandler,\n})\n\nexport class EnableOrphanRemovalDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn updateRelations(originalSchema, updatedSchema, ({ originalRelation, updatedRelation, updatedEntity }) => {\n\t\t\tif (\n\t\t\t\tisOwningRelation(originalRelation)\n\t\t\t\t&& isOwningRelation(updatedRelation)\n\t\t\t\t&& originalRelation.type === Model.RelationType.OneHasOne\n\t\t\t\t&& updatedRelation.type === Model.RelationType.OneHasOne\n\t\t\t\t&& !originalRelation.orphanRemoval\n\t\t\t\t&& updatedRelation.orphanRemoval\n\t\t\t) {\n\t\t\t\treturn enableOrphanRemovalModification.createModification({\n\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\tfieldName: updatedRelation.name,\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn undefined\n\t\t})\n\t}\n}\n"],"names":["schema","updateModel","updateEntity","updateField","createModificationType","updateRelations","isOwningRelation","Model"],"mappings":";;;;;;;AAMO,MAAM,uCAA2G;AAAA,EACvH,YAA6B,MAA4DA,SAAgB;AAA5E,SAAA,OAAA;AAA4D,SAAA,SAAAA;AAAA,EAAiB;AAAA,EAEnG,YAAkB;AAAA,EAAC;AAAA,EAEnB,mBAAkC;AACxC,UAAM,EAAE,YAAY,UAAA,IAAc,KAAK;AACvC,WAAOC,kBAAAA;AAAAA,MACNC,kBAAAA;AAAAA,QACC;AAAA,QACAC,kBAAAA,YAA2C,WAAW,CAAC,EAAE,aAAa;AAAA,UACrE,GAAG;AAAA,UACH,eAAe;AAAA,QAAA,EACd;AAAA,MAAA;AAAA,IACH;AAAA,EAEF;AAAA,EAEA,WAAW;AACV,WAAO;AAAA,MACN,SAAS,4BAA4B,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS;AAAA,IAAA;AAAA,EAElF;AACD;AAOO,MAAM,kCAAkCC,oBAAAA,uBAAuB;AAAA,EACrE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,0BAA4C;AAAA,EACxD,WAAW,gBAAwB,eAAuB;AACzD,WAAOC,UAAAA,gBAAgB,gBAAgB,eAAe,CAAC,EAAE,kBAAkB,iBAAiB,oBAAoB;AAC/G,UACCC,YAAAA,iBAAiB,gBAAgB,KAC9BA,YAAAA,iBAAiB,eAAe,KAChC,iBAAiB,SAASC,OAAAA,MAAM,aAAa,aAC7C,gBAAgB,SAASA,OAAAA,MAAM,aAAa,aAC5C,CAAC,iBAAiB,iBAClB,gBAAgB,eAClB;AACD,eAAO,gCAAgC,mBAAmB;AAAA,UACzD,YAAY,cAAc;AAAA,UAC1B,WAAW,gBAAgB;AAAA,QAAA,CAC3B;AAAA,MACF;AACA,aAAO;AAAA,IACR,CAAC;AAAA,EACF;AACD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnableOrphanRemovalModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/relations/EnableOrphanRemovalModification.ts"],"sourcesContent":["import { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport { isOwningRelation } from '@contember/schema-utils'\nimport { updateRelations } from '../utils/diffUtils'\n\nexport class EnableOrphanRemovalModificationHandler implements ModificationHandler<EnableOrphanRemovalModificationData> {\n\tconstructor(private readonly data: EnableOrphanRemovalModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(): void {}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, fieldName } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(\n\t\t\t\tentityName,\n\t\t\t\tupdateField<Model.OneHasOneOwningRelation>(fieldName, ({ field }) => ({\n\t\t\t\t\t...field,\n\t\t\t\t\torphanRemoval: true,\n\t\t\t\t})),\n\t\t\t),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn {\n\t\t\tmessage: `Enable orphan removal on ${this.data.entityName}.${this.data.fieldName}`,\n\t\t}\n\t}\n}\n\nexport interface EnableOrphanRemovalModificationData {\n\tentityName: string\n\tfieldName: string\n}\n\nexport const enableOrphanRemovalModification = createModificationType({\n\tid: 'enableOrphanRemoval',\n\thandler: EnableOrphanRemovalModificationHandler,\n})\n\nexport class EnableOrphanRemovalDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn updateRelations(originalSchema, updatedSchema, ({ originalRelation, updatedRelation, updatedEntity }) => {\n\t\t\tif (\n\t\t\t\tisOwningRelation(originalRelation)\n\t\t\t\t&& isOwningRelation(updatedRelation)\n\t\t\t\t&& originalRelation.type === Model.RelationType.OneHasOne\n\t\t\t\t&& updatedRelation.type === Model.RelationType.OneHasOne\n\t\t\t\t&& !originalRelation.orphanRemoval\n\t\t\t\t&& updatedRelation.orphanRemoval\n\t\t\t) {\n\t\t\t\treturn enableOrphanRemovalModification.createModification({\n\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\tfieldName: updatedRelation.name,\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn undefined\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;;;;AAMO,MAAM,uCAA2G;AAAA,EACvH,YAA6B,MAA4D,QAAgB;AAA5E,SAAA,OAAA;AAA4D,SAAA,SAAA;AAAA,EAAiB;AAAA,EAEnG,YAAkB;AAAA,EAAC;AAAA,EAEnB,mBAAkC;AACxC,UAAM,EAAE,YAAY,UAAA,IAAc,KAAK;AACvC,WAAO;AAAA,MACN;AAAA,QACC;AAAA,QACA,YAA2C,WAAW,CAAC,EAAE,aAAa;AAAA,UACrE,GAAG;AAAA,UACH,eAAe;AAAA,QAAA,EACd;AAAA,MAAA;AAAA,IACH;AAAA,EAEF;AAAA,EAEA,WAAW;AACV,WAAO;AAAA,MACN,SAAS,4BAA4B,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS;AAAA,IAAA;AAAA,EAElF;AACD;AAOO,MAAM,kCAAkC,uBAAuB;AAAA,EACrE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,0BAA4C;AAAA,EACxD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,gBAAgB,gBAAgB,eAAe,CAAC,EAAE,kBAAkB,iBAAiB,oBAAoB;AAC/G,UACC,iBAAiB,gBAAgB,KAC9B,iBAAiB,eAAe,KAChC,iBAAiB,SAAS,MAAM,aAAa,aAC7C,gBAAgB,SAAS,MAAM,aAAa,aAC5C,CAAC,iBAAiB,iBAClB,gBAAgB,eAClB;AACD,eAAO,gCAAgC,mBAAmB;AAAA,UACzD,YAAY,cAAc;AAAA,UAC1B,WAAW,gBAAgB;AAAA,QAAA,CAC3B;AAAA,MACF;AACA,aAAO;AAAA,IACR,CAAC;AAAA,EACF;AACD;"}
|
|
1
|
+
{"version":3,"file":"EnableOrphanRemovalModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/relations/EnableOrphanRemovalModification.ts"],"sourcesContent":["import { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils.js'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler.js'\nimport { isOwningRelation } from '@contember/schema-utils'\nimport { updateRelations } from '../utils/diffUtils.js'\n\nexport class EnableOrphanRemovalModificationHandler implements ModificationHandler<EnableOrphanRemovalModificationData> {\n\tconstructor(private readonly data: EnableOrphanRemovalModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(): void {}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, fieldName } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(\n\t\t\t\tentityName,\n\t\t\t\tupdateField<Model.OneHasOneOwningRelation>(fieldName, ({ field }) => ({\n\t\t\t\t\t...field,\n\t\t\t\t\torphanRemoval: true,\n\t\t\t\t})),\n\t\t\t),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn {\n\t\t\tmessage: `Enable orphan removal on ${this.data.entityName}.${this.data.fieldName}`,\n\t\t}\n\t}\n}\n\nexport interface EnableOrphanRemovalModificationData {\n\tentityName: string\n\tfieldName: string\n}\n\nexport const enableOrphanRemovalModification = createModificationType({\n\tid: 'enableOrphanRemoval',\n\thandler: EnableOrphanRemovalModificationHandler,\n})\n\nexport class EnableOrphanRemovalDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn updateRelations(originalSchema, updatedSchema, ({ originalRelation, updatedRelation, updatedEntity }) => {\n\t\t\tif (\n\t\t\t\tisOwningRelation(originalRelation)\n\t\t\t\t&& isOwningRelation(updatedRelation)\n\t\t\t\t&& originalRelation.type === Model.RelationType.OneHasOne\n\t\t\t\t&& updatedRelation.type === Model.RelationType.OneHasOne\n\t\t\t\t&& !originalRelation.orphanRemoval\n\t\t\t\t&& updatedRelation.orphanRemoval\n\t\t\t) {\n\t\t\t\treturn enableOrphanRemovalModification.createModification({\n\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\tfieldName: updatedRelation.name,\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn undefined\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;;;;AAMO,MAAM,uCAA2G;AAAA,EACvH,YAA6B,MAA4D,QAAgB;AAA5E,SAAA,OAAA;AAA4D,SAAA,SAAA;AAAA,EAAiB;AAAA,EAEnG,YAAkB;AAAA,EAAC;AAAA,EAEnB,mBAAkC;AACxC,UAAM,EAAE,YAAY,UAAA,IAAc,KAAK;AACvC,WAAO;AAAA,MACN;AAAA,QACC;AAAA,QACA,YAA2C,WAAW,CAAC,EAAE,aAAa;AAAA,UACrE,GAAG;AAAA,UACH,eAAe;AAAA,QAAA,EACd;AAAA,MAAA;AAAA,IACH;AAAA,EAEF;AAAA,EAEA,WAAW;AACV,WAAO;AAAA,MACN,SAAS,4BAA4B,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS;AAAA,IAAA;AAAA,EAElF;AACD;AAOO,MAAM,kCAAkC,uBAAuB;AAAA,EACrE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,0BAA4C;AAAA,EACxD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,gBAAgB,gBAAgB,eAAe,CAAC,EAAE,kBAAkB,iBAAiB,oBAAoB;AAC/G,UACC,iBAAiB,gBAAgB,KAC9B,iBAAiB,eAAe,KAChC,iBAAiB,SAAS,MAAM,aAAa,aAC7C,gBAAgB,SAAS,MAAM,aAAa,aAC5C,CAAC,iBAAiB,iBAClB,gBAAgB,eAClB;AACD,eAAO,gCAAgC,mBAAmB;AAAA,UACzD,YAAY,cAAc;AAAA,UAC1B,WAAW,gBAAgB;AAAA,QAAA,CAC3B;AAAA,MACF;AACA,aAAO;AAAA,IACR,CAAC;AAAA,EACF;AACD;"}
|
package/dist/development/src/modifications/relations/MakeRelationNotNullModification.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MakeRelationNotNullModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/relations/MakeRelationNotNullModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport { getEntity, tryGetColumnName } from '@contember/schema-utils'\nimport { isIt } from '../../utils/isIt'\nimport { updateRelations } from '../utils/diffUtils'\n\nexport class MakeRelationNotNullModificationHandler implements ModificationHandler<MakeRelationNotNullModificationData> {\n\tconstructor(private readonly data: MakeRelationNotNullModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = getEntity(this.schema.model, this.data.entityName)\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\t\tconst columnName = tryGetColumnName(this.schema.model, entity, this.data.fieldName)\n\t\tif (!columnName) {\n\t\t\treturn\n\t\t}\n\t\tbuilder.alterColumn(entity.tableName, columnName, {\n\t\t\tnotNull: true,\n\t\t})\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, fieldName } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(\n\t\t\t\tentityName,\n\t\t\t\tupdateField<Model.AnyRelation & Model.NullableRelation>(fieldName, ({ field }) => ({\n\t\t\t\t\t...field,\n\t\t\t\t\tnullable: false,\n\t\t\t\t})),\n\t\t\t),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn {\n\t\t\tmessage: `Make relation ${this.data.entityName}.${this.data.fieldName} not-nullable`,\n\t\t\tfailureWarning: 'Changing to not-null may fail in runtime',\n\t\t}\n\t}\n}\n\nexport interface MakeRelationNotNullModificationData {\n\tentityName: string\n\tfieldName: string\n\t// todo fillValue\n}\n\nexport const makeRelationNotNullModification = createModificationType({\n\tid: 'makeRelationNotNull',\n\thandler: MakeRelationNotNullModificationHandler,\n})\n\nexport class MakeRelationNotNullDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn updateRelations(originalSchema, updatedSchema, ({ originalRelation, updatedRelation, updatedEntity }) => {\n\t\t\tif (\n\t\t\t\toriginalRelation.type === updatedRelation.type\n\t\t\t\t&& isIt<Model.NullableRelation>(updatedRelation, 'nullable')\n\t\t\t\t&& isIt<Model.NullableRelation>(originalRelation, 'nullable')\n\t\t\t\t&& !updatedRelation.nullable\n\t\t\t\t&& originalRelation.nullable\n\t\t\t) {\n\t\t\t\treturn makeRelationNotNullModification.createModification({\n\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\tfieldName: updatedRelation.name,\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn undefined\n\t\t})\n\t}\n}\n"],"names":["getEntity","tryGetColumnName","updateModel","updateEntity","updateField","createModificationType","updateRelations","isIt"],"mappings":";;;;;;;AAQO,MAAM,uCAA2G;AAAA,EACvH,YAA6B,MAA4D,QAAgB;AAA5E,SAAA,OAAA;AAA4D,SAAA,SAAA;AAAA,EAAiB;AAAA,EAEnG,UAAU,SAAiC;AACjD,UAAM,SAASA,YAAAA,UAAU,KAAK,OAAO,OAAO,KAAK,KAAK,UAAU;AAChE,QAAI,OAAO,MAAM;AAChB;AAAA,IACD;AACA,UAAM,aAAaC,6BAAiB,KAAK,OAAO,OAAO,QAAQ,KAAK,KAAK,SAAS;AAClF,QAAI,CAAC,YAAY;AAChB;AAAA,IACD;AACA,YAAQ,YAAY,OAAO,WAAW,YAAY;AAAA,MACjD,SAAS;AAAA,IAAA,CACT;AAAA,EACF;AAAA,EAEO,mBAAkC;AACxC,UAAM,EAAE,YAAY,UAAA,IAAc,KAAK;AACvC,WAAOC,kBAAAA;AAAAA,MACNC,kBAAAA;AAAAA,QACC;AAAA,QACAC,kBAAAA,YAAwD,WAAW,CAAC,EAAE,aAAa;AAAA,UAClF,GAAG;AAAA,UACH,UAAU;AAAA,QAAA,EACT;AAAA,MAAA;AAAA,IACH;AAAA,EAEF;AAAA,EAEA,WAAW;AACV,WAAO;AAAA,MACN,SAAS,iBAAiB,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS;AAAA,MACrE,gBAAgB;AAAA,IAAA;AAAA,EAElB;AACD;AAQO,MAAM,kCAAkCC,oBAAAA,uBAAuB;AAAA,EACrE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,0BAA4C;AAAA,EACxD,WAAW,gBAAwB,eAAuB;AACzD,WAAOC,UAAAA,gBAAgB,gBAAgB,eAAe,CAAC,EAAE,kBAAkB,iBAAiB,oBAAoB;AAC/G,UACC,iBAAiB,SAAS,gBAAgB,QACvCC,KAAAA,KAA6B,iBAAiB,UAAU,KACxDA,KAAAA,KAA6B,kBAAkB,UAAU,KACzD,CAAC,gBAAgB,YACjB,iBAAiB,UACnB;AACD,eAAO,gCAAgC,mBAAmB;AAAA,UACzD,YAAY,cAAc;AAAA,UAC1B,WAAW,gBAAgB;AAAA,QAAA,CAC3B;AAAA,MACF;AACA,aAAO;AAAA,IACR,CAAC;AAAA,EACF;AACD;;;;"}
|
|
1
|
+
{"version":3,"file":"MakeRelationNotNullModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/relations/MakeRelationNotNullModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils.js'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler.js'\nimport { getEntity, tryGetColumnName } from '@contember/schema-utils'\nimport { isIt } from '../../utils/isIt.js'\nimport { updateRelations } from '../utils/diffUtils.js'\n\nexport class MakeRelationNotNullModificationHandler implements ModificationHandler<MakeRelationNotNullModificationData> {\n\tconstructor(private readonly data: MakeRelationNotNullModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = getEntity(this.schema.model, this.data.entityName)\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\t\tconst columnName = tryGetColumnName(this.schema.model, entity, this.data.fieldName)\n\t\tif (!columnName) {\n\t\t\treturn\n\t\t}\n\t\tbuilder.alterColumn(entity.tableName, columnName, {\n\t\t\tnotNull: true,\n\t\t})\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, fieldName } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(\n\t\t\t\tentityName,\n\t\t\t\tupdateField<Model.AnyRelation & Model.NullableRelation>(fieldName, ({ field }) => ({\n\t\t\t\t\t...field,\n\t\t\t\t\tnullable: false,\n\t\t\t\t})),\n\t\t\t),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn {\n\t\t\tmessage: `Make relation ${this.data.entityName}.${this.data.fieldName} not-nullable`,\n\t\t\tfailureWarning: 'Changing to not-null may fail in runtime',\n\t\t}\n\t}\n}\n\nexport interface MakeRelationNotNullModificationData {\n\tentityName: string\n\tfieldName: string\n\t// todo fillValue\n}\n\nexport const makeRelationNotNullModification = createModificationType({\n\tid: 'makeRelationNotNull',\n\thandler: MakeRelationNotNullModificationHandler,\n})\n\nexport class MakeRelationNotNullDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn updateRelations(originalSchema, updatedSchema, ({ originalRelation, updatedRelation, updatedEntity }) => {\n\t\t\tif (\n\t\t\t\toriginalRelation.type === updatedRelation.type\n\t\t\t\t&& isIt<Model.NullableRelation>(updatedRelation, 'nullable')\n\t\t\t\t&& isIt<Model.NullableRelation>(originalRelation, 'nullable')\n\t\t\t\t&& !updatedRelation.nullable\n\t\t\t\t&& originalRelation.nullable\n\t\t\t) {\n\t\t\t\treturn makeRelationNotNullModification.createModification({\n\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\tfieldName: updatedRelation.name,\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn undefined\n\t\t})\n\t}\n}\n"],"names":["getEntity","tryGetColumnName","updateModel","updateEntity","updateField","createModificationType","updateRelations","isIt"],"mappings":";;;;;;;AAQO,MAAM,uCAA2G;AAAA,EACvH,YAA6B,MAA4D,QAAgB;AAA5E,SAAA,OAAA;AAA4D,SAAA,SAAA;AAAA,EAAiB;AAAA,EAEnG,UAAU,SAAiC;AACjD,UAAM,SAASA,YAAAA,UAAU,KAAK,OAAO,OAAO,KAAK,KAAK,UAAU;AAChE,QAAI,OAAO,MAAM;AAChB;AAAA,IACD;AACA,UAAM,aAAaC,6BAAiB,KAAK,OAAO,OAAO,QAAQ,KAAK,KAAK,SAAS;AAClF,QAAI,CAAC,YAAY;AAChB;AAAA,IACD;AACA,YAAQ,YAAY,OAAO,WAAW,YAAY;AAAA,MACjD,SAAS;AAAA,IAAA,CACT;AAAA,EACF;AAAA,EAEO,mBAAkC;AACxC,UAAM,EAAE,YAAY,UAAA,IAAc,KAAK;AACvC,WAAOC,kBAAAA;AAAAA,MACNC,kBAAAA;AAAAA,QACC;AAAA,QACAC,kBAAAA,YAAwD,WAAW,CAAC,EAAE,aAAa;AAAA,UAClF,GAAG;AAAA,UACH,UAAU;AAAA,QAAA,EACT;AAAA,MAAA;AAAA,IACH;AAAA,EAEF;AAAA,EAEA,WAAW;AACV,WAAO;AAAA,MACN,SAAS,iBAAiB,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS;AAAA,MACrE,gBAAgB;AAAA,IAAA;AAAA,EAElB;AACD;AAQO,MAAM,kCAAkCC,oBAAAA,uBAAuB;AAAA,EACrE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,0BAA4C;AAAA,EACxD,WAAW,gBAAwB,eAAuB;AACzD,WAAOC,UAAAA,gBAAgB,gBAAgB,eAAe,CAAC,EAAE,kBAAkB,iBAAiB,oBAAoB;AAC/G,UACC,iBAAiB,SAAS,gBAAgB,QACvCC,KAAAA,KAA6B,iBAAiB,UAAU,KACxDA,KAAAA,KAA6B,kBAAkB,UAAU,KACzD,CAAC,gBAAgB,YACjB,iBAAiB,UACnB;AACD,eAAO,gCAAgC,mBAAmB;AAAA,UACzD,YAAY,cAAc;AAAA,UAC1B,WAAW,gBAAgB;AAAA,QAAA,CAC3B;AAAA,MACF;AACA,aAAO;AAAA,IACR,CAAC;AAAA,EACF;AACD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MakeRelationNotNullModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/relations/MakeRelationNotNullModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport { getEntity, tryGetColumnName } from '@contember/schema-utils'\nimport { isIt } from '../../utils/isIt'\nimport { updateRelations } from '../utils/diffUtils'\n\nexport class MakeRelationNotNullModificationHandler implements ModificationHandler<MakeRelationNotNullModificationData> {\n\tconstructor(private readonly data: MakeRelationNotNullModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = getEntity(this.schema.model, this.data.entityName)\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\t\tconst columnName = tryGetColumnName(this.schema.model, entity, this.data.fieldName)\n\t\tif (!columnName) {\n\t\t\treturn\n\t\t}\n\t\tbuilder.alterColumn(entity.tableName, columnName, {\n\t\t\tnotNull: true,\n\t\t})\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, fieldName } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(\n\t\t\t\tentityName,\n\t\t\t\tupdateField<Model.AnyRelation & Model.NullableRelation>(fieldName, ({ field }) => ({\n\t\t\t\t\t...field,\n\t\t\t\t\tnullable: false,\n\t\t\t\t})),\n\t\t\t),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn {\n\t\t\tmessage: `Make relation ${this.data.entityName}.${this.data.fieldName} not-nullable`,\n\t\t\tfailureWarning: 'Changing to not-null may fail in runtime',\n\t\t}\n\t}\n}\n\nexport interface MakeRelationNotNullModificationData {\n\tentityName: string\n\tfieldName: string\n\t// todo fillValue\n}\n\nexport const makeRelationNotNullModification = createModificationType({\n\tid: 'makeRelationNotNull',\n\thandler: MakeRelationNotNullModificationHandler,\n})\n\nexport class MakeRelationNotNullDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn updateRelations(originalSchema, updatedSchema, ({ originalRelation, updatedRelation, updatedEntity }) => {\n\t\t\tif (\n\t\t\t\toriginalRelation.type === updatedRelation.type\n\t\t\t\t&& isIt<Model.NullableRelation>(updatedRelation, 'nullable')\n\t\t\t\t&& isIt<Model.NullableRelation>(originalRelation, 'nullable')\n\t\t\t\t&& !updatedRelation.nullable\n\t\t\t\t&& originalRelation.nullable\n\t\t\t) {\n\t\t\t\treturn makeRelationNotNullModification.createModification({\n\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\tfieldName: updatedRelation.name,\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn undefined\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;;;;AAQO,MAAM,uCAA2G;AAAA,EACvH,YAA6B,MAA4D,QAAgB;AAA5E,SAAA,OAAA;AAA4D,SAAA,SAAA;AAAA,EAAiB;AAAA,EAEnG,UAAU,SAAiC;AACjD,UAAM,SAAS,UAAU,KAAK,OAAO,OAAO,KAAK,KAAK,UAAU;AAChE,QAAI,OAAO,MAAM;AAChB;AAAA,IACD;AACA,UAAM,aAAa,iBAAiB,KAAK,OAAO,OAAO,QAAQ,KAAK,KAAK,SAAS;AAClF,QAAI,CAAC,YAAY;AAChB;AAAA,IACD;AACA,YAAQ,YAAY,OAAO,WAAW,YAAY;AAAA,MACjD,SAAS;AAAA,IAAA,CACT;AAAA,EACF;AAAA,EAEO,mBAAkC;AACxC,UAAM,EAAE,YAAY,UAAA,IAAc,KAAK;AACvC,WAAO;AAAA,MACN;AAAA,QACC;AAAA,QACA,YAAwD,WAAW,CAAC,EAAE,aAAa;AAAA,UAClF,GAAG;AAAA,UACH,UAAU;AAAA,QAAA,EACT;AAAA,MAAA;AAAA,IACH;AAAA,EAEF;AAAA,EAEA,WAAW;AACV,WAAO;AAAA,MACN,SAAS,iBAAiB,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS;AAAA,MACrE,gBAAgB;AAAA,IAAA;AAAA,EAElB;AACD;AAQO,MAAM,kCAAkC,uBAAuB;AAAA,EACrE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,0BAA4C;AAAA,EACxD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,gBAAgB,gBAAgB,eAAe,CAAC,EAAE,kBAAkB,iBAAiB,oBAAoB;AAC/G,UACC,iBAAiB,SAAS,gBAAgB,QACvC,KAA6B,iBAAiB,UAAU,KACxD,KAA6B,kBAAkB,UAAU,KACzD,CAAC,gBAAgB,YACjB,iBAAiB,UACnB;AACD,eAAO,gCAAgC,mBAAmB;AAAA,UACzD,YAAY,cAAc;AAAA,UAC1B,WAAW,gBAAgB;AAAA,QAAA,CAC3B;AAAA,MACF;AACA,aAAO;AAAA,IACR,CAAC;AAAA,EACF;AACD;"}
|
|
1
|
+
{"version":3,"file":"MakeRelationNotNullModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/relations/MakeRelationNotNullModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils.js'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler.js'\nimport { getEntity, tryGetColumnName } from '@contember/schema-utils'\nimport { isIt } from '../../utils/isIt.js'\nimport { updateRelations } from '../utils/diffUtils.js'\n\nexport class MakeRelationNotNullModificationHandler implements ModificationHandler<MakeRelationNotNullModificationData> {\n\tconstructor(private readonly data: MakeRelationNotNullModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = getEntity(this.schema.model, this.data.entityName)\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\t\tconst columnName = tryGetColumnName(this.schema.model, entity, this.data.fieldName)\n\t\tif (!columnName) {\n\t\t\treturn\n\t\t}\n\t\tbuilder.alterColumn(entity.tableName, columnName, {\n\t\t\tnotNull: true,\n\t\t})\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, fieldName } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(\n\t\t\t\tentityName,\n\t\t\t\tupdateField<Model.AnyRelation & Model.NullableRelation>(fieldName, ({ field }) => ({\n\t\t\t\t\t...field,\n\t\t\t\t\tnullable: false,\n\t\t\t\t})),\n\t\t\t),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn {\n\t\t\tmessage: `Make relation ${this.data.entityName}.${this.data.fieldName} not-nullable`,\n\t\t\tfailureWarning: 'Changing to not-null may fail in runtime',\n\t\t}\n\t}\n}\n\nexport interface MakeRelationNotNullModificationData {\n\tentityName: string\n\tfieldName: string\n\t// todo fillValue\n}\n\nexport const makeRelationNotNullModification = createModificationType({\n\tid: 'makeRelationNotNull',\n\thandler: MakeRelationNotNullModificationHandler,\n})\n\nexport class MakeRelationNotNullDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn updateRelations(originalSchema, updatedSchema, ({ originalRelation, updatedRelation, updatedEntity }) => {\n\t\t\tif (\n\t\t\t\toriginalRelation.type === updatedRelation.type\n\t\t\t\t&& isIt<Model.NullableRelation>(updatedRelation, 'nullable')\n\t\t\t\t&& isIt<Model.NullableRelation>(originalRelation, 'nullable')\n\t\t\t\t&& !updatedRelation.nullable\n\t\t\t\t&& originalRelation.nullable\n\t\t\t) {\n\t\t\t\treturn makeRelationNotNullModification.createModification({\n\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\tfieldName: updatedRelation.name,\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn undefined\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;;;;AAQO,MAAM,uCAA2G;AAAA,EACvH,YAA6B,MAA4D,QAAgB;AAA5E,SAAA,OAAA;AAA4D,SAAA,SAAA;AAAA,EAAiB;AAAA,EAEnG,UAAU,SAAiC;AACjD,UAAM,SAAS,UAAU,KAAK,OAAO,OAAO,KAAK,KAAK,UAAU;AAChE,QAAI,OAAO,MAAM;AAChB;AAAA,IACD;AACA,UAAM,aAAa,iBAAiB,KAAK,OAAO,OAAO,QAAQ,KAAK,KAAK,SAAS;AAClF,QAAI,CAAC,YAAY;AAChB;AAAA,IACD;AACA,YAAQ,YAAY,OAAO,WAAW,YAAY;AAAA,MACjD,SAAS;AAAA,IAAA,CACT;AAAA,EACF;AAAA,EAEO,mBAAkC;AACxC,UAAM,EAAE,YAAY,UAAA,IAAc,KAAK;AACvC,WAAO;AAAA,MACN;AAAA,QACC;AAAA,QACA,YAAwD,WAAW,CAAC,EAAE,aAAa;AAAA,UAClF,GAAG;AAAA,UACH,UAAU;AAAA,QAAA,EACT;AAAA,MAAA;AAAA,IACH;AAAA,EAEF;AAAA,EAEA,WAAW;AACV,WAAO;AAAA,MACN,SAAS,iBAAiB,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS;AAAA,MACrE,gBAAgB;AAAA,IAAA;AAAA,EAElB;AACD;AAQO,MAAM,kCAAkC,uBAAuB;AAAA,EACrE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,0BAA4C;AAAA,EACxD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,gBAAgB,gBAAgB,eAAe,CAAC,EAAE,kBAAkB,iBAAiB,oBAAoB;AAC/G,UACC,iBAAiB,SAAS,gBAAgB,QACvC,KAA6B,iBAAiB,UAAU,KACxD,KAA6B,kBAAkB,UAAU,KACzD,CAAC,gBAAgB,YACjB,iBAAiB,UACnB;AACD,eAAO,gCAAgC,mBAAmB;AAAA,UACzD,YAAY,cAAc;AAAA,UAC1B,WAAW,gBAAgB;AAAA,QAAA,CAC3B;AAAA,MACF;AACA,aAAO;AAAA,IACR,CAAC;AAAA,EACF;AACD;"}
|
package/dist/development/src/modifications/relations/MakeRelationNullableModification.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MakeRelationNullableModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/relations/MakeRelationNullableModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport { getEntity, tryGetColumnName } from '@contember/schema-utils'\nimport { isIt } from '../../utils/isIt'\nimport { updateRelations } from '../utils/diffUtils'\n\nexport class MakeRelationNullableModificationHandler implements ModificationHandler<MakeRelationNullableModificationData> {\n\tconstructor(private readonly data: MakeRelationNullableModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = getEntity(this.schema.model, this.data.entityName)\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\t\tconst columnName = tryGetColumnName(this.schema.model, entity, this.data.fieldName)\n\t\tif (!columnName) {\n\t\t\treturn\n\t\t}\n\t\tbuilder.alterColumn(entity.tableName, columnName, {\n\t\t\tnotNull: false,\n\t\t})\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, fieldName } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(\n\t\t\t\tentityName,\n\t\t\t\tupdateField<Model.AnyRelation & Model.NullableRelation>(fieldName, ({ field }) => ({\n\t\t\t\t\t...field,\n\t\t\t\t\tnullable: true,\n\t\t\t\t})),\n\t\t\t),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn {\n\t\t\tmessage: `Make relation ${this.data.entityName}.${this.data.fieldName} nullable`,\n\t\t}\n\t}\n}\n\nexport interface MakeRelationNullableModificationData {\n\tentityName: string\n\tfieldName: string\n}\n\nexport const makeRelationNullableModification = createModificationType({\n\tid: 'makeRelationNullable',\n\thandler: MakeRelationNullableModificationHandler,\n})\n\nexport class MakeRelationNullableDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn updateRelations(originalSchema, updatedSchema, ({ originalRelation, updatedRelation, updatedEntity }) => {\n\t\t\tif (\n\t\t\t\toriginalRelation.type === updatedRelation.type\n\t\t\t\t&& isIt<Model.NullableRelation>(updatedRelation, 'nullable')\n\t\t\t\t&& isIt<Model.NullableRelation>(originalRelation, 'nullable')\n\t\t\t\t&& updatedRelation.nullable\n\t\t\t\t&& !originalRelation.nullable\n\t\t\t) {\n\t\t\t\treturn makeRelationNullableModification.createModification({\n\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\tfieldName: updatedRelation.name,\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn undefined\n\t\t})\n\t}\n}\n"],"names":["getEntity","tryGetColumnName","updateModel","updateEntity","updateField","createModificationType","updateRelations","isIt"],"mappings":";;;;;;;AAQO,MAAM,wCAA6G;AAAA,EACzH,YAA6B,MAA6D,QAAgB;AAA7E,SAAA,OAAA;AAA6D,SAAA,SAAA;AAAA,EAAiB;AAAA,EAEpG,UAAU,SAAiC;AACjD,UAAM,SAASA,YAAAA,UAAU,KAAK,OAAO,OAAO,KAAK,KAAK,UAAU;AAChE,QAAI,OAAO,MAAM;AAChB;AAAA,IACD;AACA,UAAM,aAAaC,6BAAiB,KAAK,OAAO,OAAO,QAAQ,KAAK,KAAK,SAAS;AAClF,QAAI,CAAC,YAAY;AAChB;AAAA,IACD;AACA,YAAQ,YAAY,OAAO,WAAW,YAAY;AAAA,MACjD,SAAS;AAAA,IAAA,CACT;AAAA,EACF;AAAA,EAEO,mBAAkC;AACxC,UAAM,EAAE,YAAY,UAAA,IAAc,KAAK;AACvC,WAAOC,kBAAAA;AAAAA,MACNC,kBAAAA;AAAAA,QACC;AAAA,QACAC,kBAAAA,YAAwD,WAAW,CAAC,EAAE,aAAa;AAAA,UAClF,GAAG;AAAA,UACH,UAAU;AAAA,QAAA,EACT;AAAA,MAAA;AAAA,IACH;AAAA,EAEF;AAAA,EAEA,WAAW;AACV,WAAO;AAAA,MACN,SAAS,iBAAiB,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS;AAAA,IAAA;AAAA,EAEvE;AACD;AAOO,MAAM,mCAAmCC,oBAAAA,uBAAuB;AAAA,EACtE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,2BAA6C;AAAA,EACzD,WAAW,gBAAwB,eAAuB;AACzD,WAAOC,UAAAA,gBAAgB,gBAAgB,eAAe,CAAC,EAAE,kBAAkB,iBAAiB,oBAAoB;AAC/G,UACC,iBAAiB,SAAS,gBAAgB,QACvCC,KAAAA,KAA6B,iBAAiB,UAAU,KACxDA,KAAAA,KAA6B,kBAAkB,UAAU,KACzD,gBAAgB,YAChB,CAAC,iBAAiB,UACpB;AACD,eAAO,iCAAiC,mBAAmB;AAAA,UAC1D,YAAY,cAAc;AAAA,UAC1B,WAAW,gBAAgB;AAAA,QAAA,CAC3B;AAAA,MACF;AACA,aAAO;AAAA,IACR,CAAC;AAAA,EACF;AACD;;;;"}
|
|
1
|
+
{"version":3,"file":"MakeRelationNullableModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/relations/MakeRelationNullableModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils.js'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler.js'\nimport { getEntity, tryGetColumnName } from '@contember/schema-utils'\nimport { isIt } from '../../utils/isIt.js'\nimport { updateRelations } from '../utils/diffUtils.js'\n\nexport class MakeRelationNullableModificationHandler implements ModificationHandler<MakeRelationNullableModificationData> {\n\tconstructor(private readonly data: MakeRelationNullableModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = getEntity(this.schema.model, this.data.entityName)\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\t\tconst columnName = tryGetColumnName(this.schema.model, entity, this.data.fieldName)\n\t\tif (!columnName) {\n\t\t\treturn\n\t\t}\n\t\tbuilder.alterColumn(entity.tableName, columnName, {\n\t\t\tnotNull: false,\n\t\t})\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, fieldName } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(\n\t\t\t\tentityName,\n\t\t\t\tupdateField<Model.AnyRelation & Model.NullableRelation>(fieldName, ({ field }) => ({\n\t\t\t\t\t...field,\n\t\t\t\t\tnullable: true,\n\t\t\t\t})),\n\t\t\t),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn {\n\t\t\tmessage: `Make relation ${this.data.entityName}.${this.data.fieldName} nullable`,\n\t\t}\n\t}\n}\n\nexport interface MakeRelationNullableModificationData {\n\tentityName: string\n\tfieldName: string\n}\n\nexport const makeRelationNullableModification = createModificationType({\n\tid: 'makeRelationNullable',\n\thandler: MakeRelationNullableModificationHandler,\n})\n\nexport class MakeRelationNullableDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn updateRelations(originalSchema, updatedSchema, ({ originalRelation, updatedRelation, updatedEntity }) => {\n\t\t\tif (\n\t\t\t\toriginalRelation.type === updatedRelation.type\n\t\t\t\t&& isIt<Model.NullableRelation>(updatedRelation, 'nullable')\n\t\t\t\t&& isIt<Model.NullableRelation>(originalRelation, 'nullable')\n\t\t\t\t&& updatedRelation.nullable\n\t\t\t\t&& !originalRelation.nullable\n\t\t\t) {\n\t\t\t\treturn makeRelationNullableModification.createModification({\n\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\tfieldName: updatedRelation.name,\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn undefined\n\t\t})\n\t}\n}\n"],"names":["getEntity","tryGetColumnName","updateModel","updateEntity","updateField","createModificationType","updateRelations","isIt"],"mappings":";;;;;;;AAQO,MAAM,wCAA6G;AAAA,EACzH,YAA6B,MAA6D,QAAgB;AAA7E,SAAA,OAAA;AAA6D,SAAA,SAAA;AAAA,EAAiB;AAAA,EAEpG,UAAU,SAAiC;AACjD,UAAM,SAASA,YAAAA,UAAU,KAAK,OAAO,OAAO,KAAK,KAAK,UAAU;AAChE,QAAI,OAAO,MAAM;AAChB;AAAA,IACD;AACA,UAAM,aAAaC,6BAAiB,KAAK,OAAO,OAAO,QAAQ,KAAK,KAAK,SAAS;AAClF,QAAI,CAAC,YAAY;AAChB;AAAA,IACD;AACA,YAAQ,YAAY,OAAO,WAAW,YAAY;AAAA,MACjD,SAAS;AAAA,IAAA,CACT;AAAA,EACF;AAAA,EAEO,mBAAkC;AACxC,UAAM,EAAE,YAAY,UAAA,IAAc,KAAK;AACvC,WAAOC,kBAAAA;AAAAA,MACNC,kBAAAA;AAAAA,QACC;AAAA,QACAC,kBAAAA,YAAwD,WAAW,CAAC,EAAE,aAAa;AAAA,UAClF,GAAG;AAAA,UACH,UAAU;AAAA,QAAA,EACT;AAAA,MAAA;AAAA,IACH;AAAA,EAEF;AAAA,EAEA,WAAW;AACV,WAAO;AAAA,MACN,SAAS,iBAAiB,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS;AAAA,IAAA;AAAA,EAEvE;AACD;AAOO,MAAM,mCAAmCC,oBAAAA,uBAAuB;AAAA,EACtE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,2BAA6C;AAAA,EACzD,WAAW,gBAAwB,eAAuB;AACzD,WAAOC,UAAAA,gBAAgB,gBAAgB,eAAe,CAAC,EAAE,kBAAkB,iBAAiB,oBAAoB;AAC/G,UACC,iBAAiB,SAAS,gBAAgB,QACvCC,KAAAA,KAA6B,iBAAiB,UAAU,KACxDA,KAAAA,KAA6B,kBAAkB,UAAU,KACzD,gBAAgB,YAChB,CAAC,iBAAiB,UACpB;AACD,eAAO,iCAAiC,mBAAmB;AAAA,UAC1D,YAAY,cAAc;AAAA,UAC1B,WAAW,gBAAgB;AAAA,QAAA,CAC3B;AAAA,MACF;AACA,aAAO;AAAA,IACR,CAAC;AAAA,EACF;AACD;;;;"}
|
package/dist/development/src/modifications/relations/MakeRelationNullableModification.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MakeRelationNullableModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/relations/MakeRelationNullableModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport { getEntity, tryGetColumnName } from '@contember/schema-utils'\nimport { isIt } from '../../utils/isIt'\nimport { updateRelations } from '../utils/diffUtils'\n\nexport class MakeRelationNullableModificationHandler implements ModificationHandler<MakeRelationNullableModificationData> {\n\tconstructor(private readonly data: MakeRelationNullableModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = getEntity(this.schema.model, this.data.entityName)\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\t\tconst columnName = tryGetColumnName(this.schema.model, entity, this.data.fieldName)\n\t\tif (!columnName) {\n\t\t\treturn\n\t\t}\n\t\tbuilder.alterColumn(entity.tableName, columnName, {\n\t\t\tnotNull: false,\n\t\t})\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, fieldName } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(\n\t\t\t\tentityName,\n\t\t\t\tupdateField<Model.AnyRelation & Model.NullableRelation>(fieldName, ({ field }) => ({\n\t\t\t\t\t...field,\n\t\t\t\t\tnullable: true,\n\t\t\t\t})),\n\t\t\t),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn {\n\t\t\tmessage: `Make relation ${this.data.entityName}.${this.data.fieldName} nullable`,\n\t\t}\n\t}\n}\n\nexport interface MakeRelationNullableModificationData {\n\tentityName: string\n\tfieldName: string\n}\n\nexport const makeRelationNullableModification = createModificationType({\n\tid: 'makeRelationNullable',\n\thandler: MakeRelationNullableModificationHandler,\n})\n\nexport class MakeRelationNullableDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn updateRelations(originalSchema, updatedSchema, ({ originalRelation, updatedRelation, updatedEntity }) => {\n\t\t\tif (\n\t\t\t\toriginalRelation.type === updatedRelation.type\n\t\t\t\t&& isIt<Model.NullableRelation>(updatedRelation, 'nullable')\n\t\t\t\t&& isIt<Model.NullableRelation>(originalRelation, 'nullable')\n\t\t\t\t&& updatedRelation.nullable\n\t\t\t\t&& !originalRelation.nullable\n\t\t\t) {\n\t\t\t\treturn makeRelationNullableModification.createModification({\n\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\tfieldName: updatedRelation.name,\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn undefined\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;;;;AAQO,MAAM,wCAA6G;AAAA,EACzH,YAA6B,MAA6D,QAAgB;AAA7E,SAAA,OAAA;AAA6D,SAAA,SAAA;AAAA,EAAiB;AAAA,EAEpG,UAAU,SAAiC;AACjD,UAAM,SAAS,UAAU,KAAK,OAAO,OAAO,KAAK,KAAK,UAAU;AAChE,QAAI,OAAO,MAAM;AAChB;AAAA,IACD;AACA,UAAM,aAAa,iBAAiB,KAAK,OAAO,OAAO,QAAQ,KAAK,KAAK,SAAS;AAClF,QAAI,CAAC,YAAY;AAChB;AAAA,IACD;AACA,YAAQ,YAAY,OAAO,WAAW,YAAY;AAAA,MACjD,SAAS;AAAA,IAAA,CACT;AAAA,EACF;AAAA,EAEO,mBAAkC;AACxC,UAAM,EAAE,YAAY,UAAA,IAAc,KAAK;AACvC,WAAO;AAAA,MACN;AAAA,QACC;AAAA,QACA,YAAwD,WAAW,CAAC,EAAE,aAAa;AAAA,UAClF,GAAG;AAAA,UACH,UAAU;AAAA,QAAA,EACT;AAAA,MAAA;AAAA,IACH;AAAA,EAEF;AAAA,EAEA,WAAW;AACV,WAAO;AAAA,MACN,SAAS,iBAAiB,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS;AAAA,IAAA;AAAA,EAEvE;AACD;AAOO,MAAM,mCAAmC,uBAAuB;AAAA,EACtE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,2BAA6C;AAAA,EACzD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,gBAAgB,gBAAgB,eAAe,CAAC,EAAE,kBAAkB,iBAAiB,oBAAoB;AAC/G,UACC,iBAAiB,SAAS,gBAAgB,QACvC,KAA6B,iBAAiB,UAAU,KACxD,KAA6B,kBAAkB,UAAU,KACzD,gBAAgB,YAChB,CAAC,iBAAiB,UACpB;AACD,eAAO,iCAAiC,mBAAmB;AAAA,UAC1D,YAAY,cAAc;AAAA,UAC1B,WAAW,gBAAgB;AAAA,QAAA,CAC3B;AAAA,MACF;AACA,aAAO;AAAA,IACR,CAAC;AAAA,EACF;AACD;"}
|
|
1
|
+
{"version":3,"file":"MakeRelationNullableModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/relations/MakeRelationNullableModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils.js'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler.js'\nimport { getEntity, tryGetColumnName } from '@contember/schema-utils'\nimport { isIt } from '../../utils/isIt.js'\nimport { updateRelations } from '../utils/diffUtils.js'\n\nexport class MakeRelationNullableModificationHandler implements ModificationHandler<MakeRelationNullableModificationData> {\n\tconstructor(private readonly data: MakeRelationNullableModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = getEntity(this.schema.model, this.data.entityName)\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\t\tconst columnName = tryGetColumnName(this.schema.model, entity, this.data.fieldName)\n\t\tif (!columnName) {\n\t\t\treturn\n\t\t}\n\t\tbuilder.alterColumn(entity.tableName, columnName, {\n\t\t\tnotNull: false,\n\t\t})\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, fieldName } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(\n\t\t\t\tentityName,\n\t\t\t\tupdateField<Model.AnyRelation & Model.NullableRelation>(fieldName, ({ field }) => ({\n\t\t\t\t\t...field,\n\t\t\t\t\tnullable: true,\n\t\t\t\t})),\n\t\t\t),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn {\n\t\t\tmessage: `Make relation ${this.data.entityName}.${this.data.fieldName} nullable`,\n\t\t}\n\t}\n}\n\nexport interface MakeRelationNullableModificationData {\n\tentityName: string\n\tfieldName: string\n}\n\nexport const makeRelationNullableModification = createModificationType({\n\tid: 'makeRelationNullable',\n\thandler: MakeRelationNullableModificationHandler,\n})\n\nexport class MakeRelationNullableDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn updateRelations(originalSchema, updatedSchema, ({ originalRelation, updatedRelation, updatedEntity }) => {\n\t\t\tif (\n\t\t\t\toriginalRelation.type === updatedRelation.type\n\t\t\t\t&& isIt<Model.NullableRelation>(updatedRelation, 'nullable')\n\t\t\t\t&& isIt<Model.NullableRelation>(originalRelation, 'nullable')\n\t\t\t\t&& updatedRelation.nullable\n\t\t\t\t&& !originalRelation.nullable\n\t\t\t) {\n\t\t\t\treturn makeRelationNullableModification.createModification({\n\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\tfieldName: updatedRelation.name,\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn undefined\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;;;;AAQO,MAAM,wCAA6G;AAAA,EACzH,YAA6B,MAA6D,QAAgB;AAA7E,SAAA,OAAA;AAA6D,SAAA,SAAA;AAAA,EAAiB;AAAA,EAEpG,UAAU,SAAiC;AACjD,UAAM,SAAS,UAAU,KAAK,OAAO,OAAO,KAAK,KAAK,UAAU;AAChE,QAAI,OAAO,MAAM;AAChB;AAAA,IACD;AACA,UAAM,aAAa,iBAAiB,KAAK,OAAO,OAAO,QAAQ,KAAK,KAAK,SAAS;AAClF,QAAI,CAAC,YAAY;AAChB;AAAA,IACD;AACA,YAAQ,YAAY,OAAO,WAAW,YAAY;AAAA,MACjD,SAAS;AAAA,IAAA,CACT;AAAA,EACF;AAAA,EAEO,mBAAkC;AACxC,UAAM,EAAE,YAAY,UAAA,IAAc,KAAK;AACvC,WAAO;AAAA,MACN;AAAA,QACC;AAAA,QACA,YAAwD,WAAW,CAAC,EAAE,aAAa;AAAA,UAClF,GAAG;AAAA,UACH,UAAU;AAAA,QAAA,EACT;AAAA,MAAA;AAAA,IACH;AAAA,EAEF;AAAA,EAEA,WAAW;AACV,WAAO;AAAA,MACN,SAAS,iBAAiB,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS;AAAA,IAAA;AAAA,EAEvE;AACD;AAOO,MAAM,mCAAmC,uBAAuB;AAAA,EACtE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,2BAA6C;AAAA,EACzD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,gBAAgB,gBAAgB,eAAe,CAAC,EAAE,kBAAkB,iBAAiB,oBAAoB;AAC/G,UACC,iBAAiB,SAAS,gBAAgB,QACvC,KAA6B,iBAAiB,UAAU,KACxD,KAA6B,kBAAkB,UAAU,KACzD,gBAAgB,YAChB,CAAC,iBAAiB,UACpB;AACD,eAAO,iCAAiC,mBAAmB;AAAA,UAC1D,YAAY,cAAc;AAAA,UAC1B,WAAW,gBAAgB;AAAA,QAAA,CAC3B;AAAA,MACF;AACA,aAAO;AAAA,IACR,CAAC;AAAA,EACF;AACD;"}
|
package/dist/development/src/modifications/relations/ToggleJunctionEventLogModification.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToggleJunctionEventLogModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/relations/ToggleJunctionEventLogModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler, ModificationHandlerCreateSqlOptions } from '../ModificationHandler'\nimport { createEventTrigger, createEventTrxTrigger, dropEventTrigger, dropEventTrxTrigger } from '../utils/sqlUpdateUtils'\nimport { isOwningRelation, isRelation } from '@contember/schema-utils'\nimport { updateRelations } from '../utils/diffUtils'\nimport { isIt } from '../../utils/isIt'\n\nexport class ToggleJunctionEventLogModificationHandler implements ModificationHandler<ToggleJunctionEventLogModificationData> {\n\tconstructor(\n\t\tprivate readonly data: ToggleJunctionEventLogModificationData,\n\t\tprivate readonly schema: Schema,\n\t) {\n\t}\n\n\tpublic createSql(builder: MigrationBuilder, { systemSchema }: ModificationHandlerCreateSqlOptions): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tconst relation = entity.fields[this.data.fieldName]\n\t\tif (!isRelation(relation) || relation.type !== Model.RelationType.ManyHasMany || !isOwningRelation(relation)) {\n\t\t\tthrow new Error('invalid field')\n\t\t}\n\t\tconst tableName = relation.joiningTable.tableName\n\t\tif (this.data.enabled) {\n\t\t\tconst primaryColumns = [\n\t\t\t\trelation.joiningTable.joiningColumn.columnName,\n\t\t\t\trelation.joiningTable.inverseJoiningColumn.columnName,\n\t\t\t]\n\t\t\tcreateEventTrigger(builder, systemSchema, tableName, primaryColumns)\n\t\t\tcreateEventTrxTrigger(builder, systemSchema, tableName)\n\t\t} else {\n\t\t\tdropEventTrigger(builder, tableName)\n\t\t\tdropEventTrxTrigger(builder, tableName)\n\t\t}\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, fieldName, enabled } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(\n\t\t\t\tentityName,\n\t\t\t\tupdateField<Model.ManyHasManyOwningRelation>(fieldName, ({ field: { joiningTable: { eventLog, ...joiningTable }, ...field } }) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...field,\n\t\t\t\t\t\tjoiningTable: {\n\t\t\t\t\t\t\t...joiningTable,\n\t\t\t\t\t\t\teventLog: {\n\t\t\t\t\t\t\t\tenabled,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn {\n\t\t\tmessage: `${this.data.enabled ? 'Enable' : 'Disable'} event log for ${this.data.entityName}.${this.data.fieldName}`,\n\t\t}\n\t}\n}\n\nexport interface ToggleJunctionEventLogModificationData {\n\tentityName: string\n\tfieldName: string\n\tenabled: boolean\n}\n\nexport const toggleJunctionEventLogModification = createModificationType({\n\tid: 'toggleJunctionEventLog',\n\thandler: ToggleJunctionEventLogModificationHandler,\n})\n\nexport class ToggleJunctionEventLogDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn updateRelations(originalSchema, updatedSchema, ({ originalRelation, updatedRelation, updatedEntity }) => {\n\t\t\tif (\n\t\t\t\toriginalRelation.type === updatedRelation.type\n\t\t\t\t&& isIt<Model.JoiningTableRelation>(updatedRelation, 'joiningTable')\n\t\t\t\t&& isIt<Model.JoiningTableRelation>(originalRelation, 'joiningTable')\n\t\t\t) {\n\t\t\t\tconst newValue = updatedRelation.joiningTable.eventLog?.enabled ?? false\n\t\t\t\tconst oldValue = originalRelation.joiningTable.eventLog?.enabled ?? false\n\t\t\t\tif (newValue !== oldValue) {\n\t\t\t\t\treturn toggleJunctionEventLogModification.createModification({\n\t\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\t\tfieldName: updatedRelation.name,\n\t\t\t\t\t\tenabled: newValue,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn undefined\n\t\t})\n\t}\n}\n"],"names":["schema","isRelation","Model","isOwningRelation","createEventTrigger","createEventTrxTrigger","dropEventTrigger","dropEventTrxTrigger","updateModel","updateEntity","updateField","createModificationType","updateRelations","isIt"],"mappings":";;;;;;;;;AASO,MAAM,0CAAiH;AAAA,EAC7H,YACkB,MACAA,SAChB;AAFgB,SAAA,OAAA;AACA,SAAA,SAAAA;AAAA,EAElB;AAAA,EAEO,UAAU,SAA2B,EAAE,gBAA2D;AACxG,UAAM,SAAS,KAAK,OAAO,MAAM,SAAS,KAAK,KAAK,UAAU;AAC9D,UAAM,WAAW,OAAO,OAAO,KAAK,KAAK,SAAS;AAClD,QAAI,CAACC,YAAAA,WAAW,QAAQ,KAAK,SAAS,SAASC,aAAM,aAAa,eAAe,CAACC,YAAAA,iBAAiB,QAAQ,GAAG;AAC7G,YAAM,IAAI,MAAM,eAAe;AAAA,IAChC;AACA,UAAM,YAAY,SAAS,aAAa;AACxC,QAAI,KAAK,KAAK,SAAS;AACtB,YAAM,iBAAiB;AAAA,QACtB,SAAS,aAAa,cAAc;AAAA,QACpC,SAAS,aAAa,qBAAqB;AAAA,MAAA;AAE5CC,qBAAAA,mBAAmB,SAAS,cAAc,WAAW,cAAc;AACnEC,2CAAsB,SAAS,cAAc,SAAS;AAAA,IACvD,OAAO;AACNC,qBAAAA,iBAAiB,SAAS,SAAS;AACnCC,qBAAAA,oBAAoB,SAAS,SAAS;AAAA,IACvC;AAAA,EACD;AAAA,EAEO,mBAAkC;AACxC,UAAM,EAAE,YAAY,WAAW,QAAA,IAAY,KAAK;AAChD,WAAOC,kBAAAA;AAAAA,MACNC,kBAAAA;AAAAA,QACC;AAAA,QACAC,kBAAAA,YAA6C,WAAW,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,GAAG,aAAA,GAAgB,GAAG,MAAA,QAAc;AACjI,iBAAO;AAAA,YACN,GAAG;AAAA,YACH,cAAc;AAAA,cACb,GAAG;AAAA,cACH,UAAU;AAAA,gBACT;AAAA,cAAA;AAAA,YACD;AAAA,UACD;AAAA,QAEF,CAAC;AAAA,MAAA;AAAA,IACF;AAAA,EAEF;AAAA,EAEA,WAAW;AACV,WAAO;AAAA,MACN,SAAS,GAAG,KAAK,KAAK,UAAU,WAAW,SAAS,kBAAkB,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS;AAAA,IAAA;AAAA,EAEnH;AACD;AAQO,MAAM,qCAAqCC,oBAAAA,uBAAuB;AAAA,EACxE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,6BAA+C;AAAA,EAC3D,WAAW,gBAAwB,eAAuB;AACzD,WAAOC,UAAAA,gBAAgB,gBAAgB,eAAe,CAAC,EAAE,kBAAkB,iBAAiB,oBAAoB;AAC/G,UACC,iBAAiB,SAAS,gBAAgB,QACvCC,KAAAA,KAAiC,iBAAiB,cAAc,KAChEA,KAAAA,KAAiC,kBAAkB,cAAc,GACnE;AACD,cAAM,WAAW,gBAAgB,aAAa,UAAU,WAAW;AACnE,cAAM,WAAW,iBAAiB,aAAa,UAAU,WAAW;AACpE,YAAI,aAAa,UAAU;AAC1B,iBAAO,mCAAmC,mBAAmB;AAAA,YAC5D,YAAY,cAAc;AAAA,YAC1B,WAAW,gBAAgB;AAAA,YAC3B,SAAS;AAAA,UAAA,CACT;AAAA,QACF;AAAA,MACD;AACA,aAAO;AAAA,IACR,CAAC;AAAA,EACF;AACD;;;;"}
|
|
1
|
+
{"version":3,"file":"ToggleJunctionEventLogModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/relations/ToggleJunctionEventLogModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils.js'\nimport { createModificationType, Differ, ModificationHandler, ModificationHandlerCreateSqlOptions } from '../ModificationHandler.js'\nimport { createEventTrigger, createEventTrxTrigger, dropEventTrigger, dropEventTrxTrigger } from '../utils/sqlUpdateUtils.js'\nimport { isOwningRelation, isRelation } from '@contember/schema-utils'\nimport { updateRelations } from '../utils/diffUtils.js'\nimport { isIt } from '../../utils/isIt.js'\n\nexport class ToggleJunctionEventLogModificationHandler implements ModificationHandler<ToggleJunctionEventLogModificationData> {\n\tconstructor(\n\t\tprivate readonly data: ToggleJunctionEventLogModificationData,\n\t\tprivate readonly schema: Schema,\n\t) {\n\t}\n\n\tpublic createSql(builder: MigrationBuilder, { systemSchema }: ModificationHandlerCreateSqlOptions): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tconst relation = entity.fields[this.data.fieldName]\n\t\tif (!isRelation(relation) || relation.type !== Model.RelationType.ManyHasMany || !isOwningRelation(relation)) {\n\t\t\tthrow new Error('invalid field')\n\t\t}\n\t\tconst tableName = relation.joiningTable.tableName\n\t\tif (this.data.enabled) {\n\t\t\tconst primaryColumns = [\n\t\t\t\trelation.joiningTable.joiningColumn.columnName,\n\t\t\t\trelation.joiningTable.inverseJoiningColumn.columnName,\n\t\t\t]\n\t\t\tcreateEventTrigger(builder, systemSchema, tableName, primaryColumns)\n\t\t\tcreateEventTrxTrigger(builder, systemSchema, tableName)\n\t\t} else {\n\t\t\tdropEventTrigger(builder, tableName)\n\t\t\tdropEventTrxTrigger(builder, tableName)\n\t\t}\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, fieldName, enabled } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(\n\t\t\t\tentityName,\n\t\t\t\tupdateField<Model.ManyHasManyOwningRelation>(fieldName, ({ field: { joiningTable: { eventLog, ...joiningTable }, ...field } }) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...field,\n\t\t\t\t\t\tjoiningTable: {\n\t\t\t\t\t\t\t...joiningTable,\n\t\t\t\t\t\t\teventLog: {\n\t\t\t\t\t\t\t\tenabled,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn {\n\t\t\tmessage: `${this.data.enabled ? 'Enable' : 'Disable'} event log for ${this.data.entityName}.${this.data.fieldName}`,\n\t\t}\n\t}\n}\n\nexport interface ToggleJunctionEventLogModificationData {\n\tentityName: string\n\tfieldName: string\n\tenabled: boolean\n}\n\nexport const toggleJunctionEventLogModification = createModificationType({\n\tid: 'toggleJunctionEventLog',\n\thandler: ToggleJunctionEventLogModificationHandler,\n})\n\nexport class ToggleJunctionEventLogDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn updateRelations(originalSchema, updatedSchema, ({ originalRelation, updatedRelation, updatedEntity }) => {\n\t\t\tif (\n\t\t\t\toriginalRelation.type === updatedRelation.type\n\t\t\t\t&& isIt<Model.JoiningTableRelation>(updatedRelation, 'joiningTable')\n\t\t\t\t&& isIt<Model.JoiningTableRelation>(originalRelation, 'joiningTable')\n\t\t\t) {\n\t\t\t\tconst newValue = updatedRelation.joiningTable.eventLog?.enabled ?? false\n\t\t\t\tconst oldValue = originalRelation.joiningTable.eventLog?.enabled ?? false\n\t\t\t\tif (newValue !== oldValue) {\n\t\t\t\t\treturn toggleJunctionEventLogModification.createModification({\n\t\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\t\tfieldName: updatedRelation.name,\n\t\t\t\t\t\tenabled: newValue,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn undefined\n\t\t})\n\t}\n}\n"],"names":["schema","isRelation","Model","isOwningRelation","createEventTrigger","createEventTrxTrigger","dropEventTrigger","dropEventTrxTrigger","updateModel","updateEntity","updateField","createModificationType","updateRelations","isIt"],"mappings":";;;;;;;;;AASO,MAAM,0CAAiH;AAAA,EAC7H,YACkB,MACAA,SAChB;AAFgB,SAAA,OAAA;AACA,SAAA,SAAAA;AAAA,EAElB;AAAA,EAEO,UAAU,SAA2B,EAAE,gBAA2D;AACxG,UAAM,SAAS,KAAK,OAAO,MAAM,SAAS,KAAK,KAAK,UAAU;AAC9D,UAAM,WAAW,OAAO,OAAO,KAAK,KAAK,SAAS;AAClD,QAAI,CAACC,YAAAA,WAAW,QAAQ,KAAK,SAAS,SAASC,aAAM,aAAa,eAAe,CAACC,YAAAA,iBAAiB,QAAQ,GAAG;AAC7G,YAAM,IAAI,MAAM,eAAe;AAAA,IAChC;AACA,UAAM,YAAY,SAAS,aAAa;AACxC,QAAI,KAAK,KAAK,SAAS;AACtB,YAAM,iBAAiB;AAAA,QACtB,SAAS,aAAa,cAAc;AAAA,QACpC,SAAS,aAAa,qBAAqB;AAAA,MAAA;AAE5CC,qBAAAA,mBAAmB,SAAS,cAAc,WAAW,cAAc;AACnEC,2CAAsB,SAAS,cAAc,SAAS;AAAA,IACvD,OAAO;AACNC,qBAAAA,iBAAiB,SAAS,SAAS;AACnCC,qBAAAA,oBAAoB,SAAS,SAAS;AAAA,IACvC;AAAA,EACD;AAAA,EAEO,mBAAkC;AACxC,UAAM,EAAE,YAAY,WAAW,QAAA,IAAY,KAAK;AAChD,WAAOC,kBAAAA;AAAAA,MACNC,kBAAAA;AAAAA,QACC;AAAA,QACAC,kBAAAA,YAA6C,WAAW,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,GAAG,aAAA,GAAgB,GAAG,MAAA,QAAc;AACjI,iBAAO;AAAA,YACN,GAAG;AAAA,YACH,cAAc;AAAA,cACb,GAAG;AAAA,cACH,UAAU;AAAA,gBACT;AAAA,cAAA;AAAA,YACD;AAAA,UACD;AAAA,QAEF,CAAC;AAAA,MAAA;AAAA,IACF;AAAA,EAEF;AAAA,EAEA,WAAW;AACV,WAAO;AAAA,MACN,SAAS,GAAG,KAAK,KAAK,UAAU,WAAW,SAAS,kBAAkB,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS;AAAA,IAAA;AAAA,EAEnH;AACD;AAQO,MAAM,qCAAqCC,oBAAAA,uBAAuB;AAAA,EACxE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,6BAA+C;AAAA,EAC3D,WAAW,gBAAwB,eAAuB;AACzD,WAAOC,UAAAA,gBAAgB,gBAAgB,eAAe,CAAC,EAAE,kBAAkB,iBAAiB,oBAAoB;AAC/G,UACC,iBAAiB,SAAS,gBAAgB,QACvCC,KAAAA,KAAiC,iBAAiB,cAAc,KAChEA,KAAAA,KAAiC,kBAAkB,cAAc,GACnE;AACD,cAAM,WAAW,gBAAgB,aAAa,UAAU,WAAW;AACnE,cAAM,WAAW,iBAAiB,aAAa,UAAU,WAAW;AACpE,YAAI,aAAa,UAAU;AAC1B,iBAAO,mCAAmC,mBAAmB;AAAA,YAC5D,YAAY,cAAc;AAAA,YAC1B,WAAW,gBAAgB;AAAA,YAC3B,SAAS;AAAA,UAAA,CACT;AAAA,QACF;AAAA,MACD;AACA,aAAO;AAAA,IACR,CAAC;AAAA,EACF;AACD;;;;"}
|
package/dist/development/src/modifications/relations/ToggleJunctionEventLogModification.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToggleJunctionEventLogModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/relations/ToggleJunctionEventLogModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler, ModificationHandlerCreateSqlOptions } from '../ModificationHandler'\nimport { createEventTrigger, createEventTrxTrigger, dropEventTrigger, dropEventTrxTrigger } from '../utils/sqlUpdateUtils'\nimport { isOwningRelation, isRelation } from '@contember/schema-utils'\nimport { updateRelations } from '../utils/diffUtils'\nimport { isIt } from '../../utils/isIt'\n\nexport class ToggleJunctionEventLogModificationHandler implements ModificationHandler<ToggleJunctionEventLogModificationData> {\n\tconstructor(\n\t\tprivate readonly data: ToggleJunctionEventLogModificationData,\n\t\tprivate readonly schema: Schema,\n\t) {\n\t}\n\n\tpublic createSql(builder: MigrationBuilder, { systemSchema }: ModificationHandlerCreateSqlOptions): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tconst relation = entity.fields[this.data.fieldName]\n\t\tif (!isRelation(relation) || relation.type !== Model.RelationType.ManyHasMany || !isOwningRelation(relation)) {\n\t\t\tthrow new Error('invalid field')\n\t\t}\n\t\tconst tableName = relation.joiningTable.tableName\n\t\tif (this.data.enabled) {\n\t\t\tconst primaryColumns = [\n\t\t\t\trelation.joiningTable.joiningColumn.columnName,\n\t\t\t\trelation.joiningTable.inverseJoiningColumn.columnName,\n\t\t\t]\n\t\t\tcreateEventTrigger(builder, systemSchema, tableName, primaryColumns)\n\t\t\tcreateEventTrxTrigger(builder, systemSchema, tableName)\n\t\t} else {\n\t\t\tdropEventTrigger(builder, tableName)\n\t\t\tdropEventTrxTrigger(builder, tableName)\n\t\t}\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, fieldName, enabled } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(\n\t\t\t\tentityName,\n\t\t\t\tupdateField<Model.ManyHasManyOwningRelation>(fieldName, ({ field: { joiningTable: { eventLog, ...joiningTable }, ...field } }) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...field,\n\t\t\t\t\t\tjoiningTable: {\n\t\t\t\t\t\t\t...joiningTable,\n\t\t\t\t\t\t\teventLog: {\n\t\t\t\t\t\t\t\tenabled,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn {\n\t\t\tmessage: `${this.data.enabled ? 'Enable' : 'Disable'} event log for ${this.data.entityName}.${this.data.fieldName}`,\n\t\t}\n\t}\n}\n\nexport interface ToggleJunctionEventLogModificationData {\n\tentityName: string\n\tfieldName: string\n\tenabled: boolean\n}\n\nexport const toggleJunctionEventLogModification = createModificationType({\n\tid: 'toggleJunctionEventLog',\n\thandler: ToggleJunctionEventLogModificationHandler,\n})\n\nexport class ToggleJunctionEventLogDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn updateRelations(originalSchema, updatedSchema, ({ originalRelation, updatedRelation, updatedEntity }) => {\n\t\t\tif (\n\t\t\t\toriginalRelation.type === updatedRelation.type\n\t\t\t\t&& isIt<Model.JoiningTableRelation>(updatedRelation, 'joiningTable')\n\t\t\t\t&& isIt<Model.JoiningTableRelation>(originalRelation, 'joiningTable')\n\t\t\t) {\n\t\t\t\tconst newValue = updatedRelation.joiningTable.eventLog?.enabled ?? false\n\t\t\t\tconst oldValue = originalRelation.joiningTable.eventLog?.enabled ?? false\n\t\t\t\tif (newValue !== oldValue) {\n\t\t\t\t\treturn toggleJunctionEventLogModification.createModification({\n\t\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\t\tfieldName: updatedRelation.name,\n\t\t\t\t\t\tenabled: newValue,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn undefined\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;;;;;;AASO,MAAM,0CAAiH;AAAA,EAC7H,YACkB,MACA,QAChB;AAFgB,SAAA,OAAA;AACA,SAAA,SAAA;AAAA,EAElB;AAAA,EAEO,UAAU,SAA2B,EAAE,gBAA2D;AACxG,UAAM,SAAS,KAAK,OAAO,MAAM,SAAS,KAAK,KAAK,UAAU;AAC9D,UAAM,WAAW,OAAO,OAAO,KAAK,KAAK,SAAS;AAClD,QAAI,CAAC,WAAW,QAAQ,KAAK,SAAS,SAAS,MAAM,aAAa,eAAe,CAAC,iBAAiB,QAAQ,GAAG;AAC7G,YAAM,IAAI,MAAM,eAAe;AAAA,IAChC;AACA,UAAM,YAAY,SAAS,aAAa;AACxC,QAAI,KAAK,KAAK,SAAS;AACtB,YAAM,iBAAiB;AAAA,QACtB,SAAS,aAAa,cAAc;AAAA,QACpC,SAAS,aAAa,qBAAqB;AAAA,MAAA;AAE5C,yBAAmB,SAAS,cAAc,WAAW,cAAc;AACnE,4BAAsB,SAAS,cAAc,SAAS;AAAA,IACvD,OAAO;AACN,uBAAiB,SAAS,SAAS;AACnC,0BAAoB,SAAS,SAAS;AAAA,IACvC;AAAA,EACD;AAAA,EAEO,mBAAkC;AACxC,UAAM,EAAE,YAAY,WAAW,QAAA,IAAY,KAAK;AAChD,WAAO;AAAA,MACN;AAAA,QACC;AAAA,QACA,YAA6C,WAAW,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,GAAG,aAAA,GAAgB,GAAG,MAAA,QAAc;AACjI,iBAAO;AAAA,YACN,GAAG;AAAA,YACH,cAAc;AAAA,cACb,GAAG;AAAA,cACH,UAAU;AAAA,gBACT;AAAA,cAAA;AAAA,YACD;AAAA,UACD;AAAA,QAEF,CAAC;AAAA,MAAA;AAAA,IACF;AAAA,EAEF;AAAA,EAEA,WAAW;AACV,WAAO;AAAA,MACN,SAAS,GAAG,KAAK,KAAK,UAAU,WAAW,SAAS,kBAAkB,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS;AAAA,IAAA;AAAA,EAEnH;AACD;AAQO,MAAM,qCAAqC,uBAAuB;AAAA,EACxE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,6BAA+C;AAAA,EAC3D,WAAW,gBAAwB,eAAuB;AACzD,WAAO,gBAAgB,gBAAgB,eAAe,CAAC,EAAE,kBAAkB,iBAAiB,oBAAoB;AAC/G,UACC,iBAAiB,SAAS,gBAAgB,QACvC,KAAiC,iBAAiB,cAAc,KAChE,KAAiC,kBAAkB,cAAc,GACnE;AACD,cAAM,WAAW,gBAAgB,aAAa,UAAU,WAAW;AACnE,cAAM,WAAW,iBAAiB,aAAa,UAAU,WAAW;AACpE,YAAI,aAAa,UAAU;AAC1B,iBAAO,mCAAmC,mBAAmB;AAAA,YAC5D,YAAY,cAAc;AAAA,YAC1B,WAAW,gBAAgB;AAAA,YAC3B,SAAS;AAAA,UAAA,CACT;AAAA,QACF;AAAA,MACD;AACA,aAAO;AAAA,IACR,CAAC;AAAA,EACF;AACD;"}
|
|
1
|
+
{"version":3,"file":"ToggleJunctionEventLogModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/relations/ToggleJunctionEventLogModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils.js'\nimport { createModificationType, Differ, ModificationHandler, ModificationHandlerCreateSqlOptions } from '../ModificationHandler.js'\nimport { createEventTrigger, createEventTrxTrigger, dropEventTrigger, dropEventTrxTrigger } from '../utils/sqlUpdateUtils.js'\nimport { isOwningRelation, isRelation } from '@contember/schema-utils'\nimport { updateRelations } from '../utils/diffUtils.js'\nimport { isIt } from '../../utils/isIt.js'\n\nexport class ToggleJunctionEventLogModificationHandler implements ModificationHandler<ToggleJunctionEventLogModificationData> {\n\tconstructor(\n\t\tprivate readonly data: ToggleJunctionEventLogModificationData,\n\t\tprivate readonly schema: Schema,\n\t) {\n\t}\n\n\tpublic createSql(builder: MigrationBuilder, { systemSchema }: ModificationHandlerCreateSqlOptions): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tconst relation = entity.fields[this.data.fieldName]\n\t\tif (!isRelation(relation) || relation.type !== Model.RelationType.ManyHasMany || !isOwningRelation(relation)) {\n\t\t\tthrow new Error('invalid field')\n\t\t}\n\t\tconst tableName = relation.joiningTable.tableName\n\t\tif (this.data.enabled) {\n\t\t\tconst primaryColumns = [\n\t\t\t\trelation.joiningTable.joiningColumn.columnName,\n\t\t\t\trelation.joiningTable.inverseJoiningColumn.columnName,\n\t\t\t]\n\t\t\tcreateEventTrigger(builder, systemSchema, tableName, primaryColumns)\n\t\t\tcreateEventTrxTrigger(builder, systemSchema, tableName)\n\t\t} else {\n\t\t\tdropEventTrigger(builder, tableName)\n\t\t\tdropEventTrxTrigger(builder, tableName)\n\t\t}\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, fieldName, enabled } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(\n\t\t\t\tentityName,\n\t\t\t\tupdateField<Model.ManyHasManyOwningRelation>(fieldName, ({ field: { joiningTable: { eventLog, ...joiningTable }, ...field } }) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...field,\n\t\t\t\t\t\tjoiningTable: {\n\t\t\t\t\t\t\t...joiningTable,\n\t\t\t\t\t\t\teventLog: {\n\t\t\t\t\t\t\t\tenabled,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn {\n\t\t\tmessage: `${this.data.enabled ? 'Enable' : 'Disable'} event log for ${this.data.entityName}.${this.data.fieldName}`,\n\t\t}\n\t}\n}\n\nexport interface ToggleJunctionEventLogModificationData {\n\tentityName: string\n\tfieldName: string\n\tenabled: boolean\n}\n\nexport const toggleJunctionEventLogModification = createModificationType({\n\tid: 'toggleJunctionEventLog',\n\thandler: ToggleJunctionEventLogModificationHandler,\n})\n\nexport class ToggleJunctionEventLogDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn updateRelations(originalSchema, updatedSchema, ({ originalRelation, updatedRelation, updatedEntity }) => {\n\t\t\tif (\n\t\t\t\toriginalRelation.type === updatedRelation.type\n\t\t\t\t&& isIt<Model.JoiningTableRelation>(updatedRelation, 'joiningTable')\n\t\t\t\t&& isIt<Model.JoiningTableRelation>(originalRelation, 'joiningTable')\n\t\t\t) {\n\t\t\t\tconst newValue = updatedRelation.joiningTable.eventLog?.enabled ?? false\n\t\t\t\tconst oldValue = originalRelation.joiningTable.eventLog?.enabled ?? false\n\t\t\t\tif (newValue !== oldValue) {\n\t\t\t\t\treturn toggleJunctionEventLogModification.createModification({\n\t\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\t\tfieldName: updatedRelation.name,\n\t\t\t\t\t\tenabled: newValue,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn undefined\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;;;;;;AASO,MAAM,0CAAiH;AAAA,EAC7H,YACkB,MACA,QAChB;AAFgB,SAAA,OAAA;AACA,SAAA,SAAA;AAAA,EAElB;AAAA,EAEO,UAAU,SAA2B,EAAE,gBAA2D;AACxG,UAAM,SAAS,KAAK,OAAO,MAAM,SAAS,KAAK,KAAK,UAAU;AAC9D,UAAM,WAAW,OAAO,OAAO,KAAK,KAAK,SAAS;AAClD,QAAI,CAAC,WAAW,QAAQ,KAAK,SAAS,SAAS,MAAM,aAAa,eAAe,CAAC,iBAAiB,QAAQ,GAAG;AAC7G,YAAM,IAAI,MAAM,eAAe;AAAA,IAChC;AACA,UAAM,YAAY,SAAS,aAAa;AACxC,QAAI,KAAK,KAAK,SAAS;AACtB,YAAM,iBAAiB;AAAA,QACtB,SAAS,aAAa,cAAc;AAAA,QACpC,SAAS,aAAa,qBAAqB;AAAA,MAAA;AAE5C,yBAAmB,SAAS,cAAc,WAAW,cAAc;AACnE,4BAAsB,SAAS,cAAc,SAAS;AAAA,IACvD,OAAO;AACN,uBAAiB,SAAS,SAAS;AACnC,0BAAoB,SAAS,SAAS;AAAA,IACvC;AAAA,EACD;AAAA,EAEO,mBAAkC;AACxC,UAAM,EAAE,YAAY,WAAW,QAAA,IAAY,KAAK;AAChD,WAAO;AAAA,MACN;AAAA,QACC;AAAA,QACA,YAA6C,WAAW,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,GAAG,aAAA,GAAgB,GAAG,MAAA,QAAc;AACjI,iBAAO;AAAA,YACN,GAAG;AAAA,YACH,cAAc;AAAA,cACb,GAAG;AAAA,cACH,UAAU;AAAA,gBACT;AAAA,cAAA;AAAA,YACD;AAAA,UACD;AAAA,QAEF,CAAC;AAAA,MAAA;AAAA,IACF;AAAA,EAEF;AAAA,EAEA,WAAW;AACV,WAAO;AAAA,MACN,SAAS,GAAG,KAAK,KAAK,UAAU,WAAW,SAAS,kBAAkB,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS;AAAA,IAAA;AAAA,EAEnH;AACD;AAQO,MAAM,qCAAqC,uBAAuB;AAAA,EACxE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,6BAA+C;AAAA,EAC3D,WAAW,gBAAwB,eAAuB;AACzD,WAAO,gBAAgB,gBAAgB,eAAe,CAAC,EAAE,kBAAkB,iBAAiB,oBAAoB;AAC/G,UACC,iBAAiB,SAAS,gBAAgB,QACvC,KAAiC,iBAAiB,cAAc,KAChE,KAAiC,kBAAkB,cAAc,GACnE;AACD,cAAM,WAAW,gBAAgB,aAAa,UAAU,WAAW;AACnE,cAAM,WAAW,iBAAiB,aAAa,UAAU,WAAW;AACpE,YAAI,aAAa,UAAU;AAC1B,iBAAO,mCAAmC,mBAAmB;AAAA,YAC5D,YAAY,cAAc;AAAA,YAC1B,WAAW,gBAAgB;AAAA,YAC3B,SAAS;AAAA,UAAA,CACT;AAAA,QACF;AAAA,MACD;AACA,aAAO;AAAA,IACR,CAAC;AAAA,EACF;AACD;"}
|
package/dist/development/src/modifications/relations/UpdateRelationOnDeleteModification.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateRelationOnDeleteModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/relations/UpdateRelationOnDeleteModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler, ModificationHandlerCreateSqlOptions } from '../ModificationHandler'\nimport { isIt } from '../../utils/isIt'\nimport { updateRelations } from '../utils/diffUtils'\nimport { acceptRelationTypeVisitor } from '@contember/schema-utils'\nimport { addForeignKeyConstraint } from './helpers'\n\nexport class UpdateRelationOnDeleteModificationHandler implements ModificationHandler<UpdateRelationOnDeleteModificationData> {\n\tconstructor(\n\t\tprivate readonly data: UpdateRelationOnDeleteModificationData,\n\t\tprivate readonly schema: Schema,\n\t) {}\n\n\tpublic createSql(builder: MigrationBuilder, { databaseMetadata, invalidateDatabaseMetadata }: ModificationHandlerCreateSqlOptions): void {\n\t\tconst updatedSchema = this.getSchemaUpdater()({ schema: this.schema })\n\t\tconst entity = updatedSchema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\n\t\tacceptRelationTypeVisitor(updatedSchema.model, entity, this.data.fieldName, {\n\t\t\tvisitManyHasOne: ({ entity, relation, targetEntity }) => {\n\t\t\t\taddForeignKeyConstraint({ builder, entity, targetEntity, relation, recreate: true, databaseMetadata, invalidateDatabaseMetadata })\n\t\t\t},\n\t\t\tvisitOneHasOneOwning: ({ entity, relation, targetEntity }) => {\n\t\t\t\taddForeignKeyConstraint({ builder, entity, targetEntity, relation, recreate: true, databaseMetadata, invalidateDatabaseMetadata })\n\t\t\t},\n\t\t\tvisitOneHasMany: () => {},\n\t\t\tvisitOneHasOneInverse: () => {},\n\t\t\tvisitManyHasManyOwning: () => {},\n\t\t\tvisitManyHasManyInverse: () => {},\n\t\t})\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, fieldName, onDelete } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(\n\t\t\t\tentityName,\n\t\t\t\tupdateField<Model.AnyRelation & Model.JoiningColumnRelation>(fieldName, ({ field }) => ({\n\t\t\t\t\t...field,\n\t\t\t\t\tjoiningColumn: { ...field.joiningColumn, onDelete },\n\t\t\t\t})),\n\t\t\t),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Change on-delete policy of relation ${this.data.entityName}.${this.data.fieldName}` }\n\t}\n}\n\nexport interface UpdateRelationOnDeleteModificationData {\n\tentityName: string\n\tfieldName: string\n\tonDelete: Model.OnDelete\n}\n\nexport const updateRelationOnDeleteModification = createModificationType({\n\tid: 'updateRelationOnDelete',\n\thandler: UpdateRelationOnDeleteModificationHandler,\n})\n\nexport class UpdateRelationOnDeleteDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn updateRelations(originalSchema, updatedSchema, ({ originalRelation, updatedRelation, updatedEntity }) => {\n\t\t\tif (\n\t\t\t\toriginalRelation.type === updatedRelation.type\n\t\t\t\t&& isIt<Model.JoiningColumnRelation>(updatedRelation, 'joiningColumn')\n\t\t\t\t&& isIt<Model.JoiningColumnRelation>(originalRelation, 'joiningColumn')\n\t\t\t\t&& updatedRelation.joiningColumn.onDelete !== originalRelation.joiningColumn.onDelete\n\t\t\t) {\n\t\t\t\treturn updateRelationOnDeleteModification.createModification({\n\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\tfieldName: updatedRelation.name,\n\t\t\t\t\tonDelete: updatedRelation.joiningColumn.onDelete,\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn undefined\n\t\t})\n\t}\n}\n"],"names":["acceptRelationTypeVisitor","entity","addForeignKeyConstraint","updateModel","updateEntity","updateField","createModificationType","updateRelations","isIt"],"mappings":";;;;;;;;AASO,MAAM,0CAAiH;AAAA,EAC7H,YACkB,MACA,QAChB;AAFgB,SAAA,OAAA;AACA,SAAA,SAAA;AAAA,EACf;AAAA,EAEI,UAAU,SAA2B,EAAE,kBAAkB,8BAAyE;AACxI,UAAM,gBAAgB,KAAK,iBAAA,EAAmB,EAAE,QAAQ,KAAK,QAAQ;AACrE,UAAM,SAAS,cAAc,MAAM,SAAS,KAAK,KAAK,UAAU;AAChE,QAAI,OAAO,MAAM;AAChB;AAAA,IACD;AAEAA,gBAAAA,0BAA0B,cAAc,OAAO,QAAQ,KAAK,KAAK,WAAW;AAAA,MAC3E,iBAAiB,CAAC,EAAE,QAAAC,SAAQ,UAAU,mBAAmB;AACxDC,gBAAAA,wBAAwB,EAAE,SAAS,QAAAD,SAAQ,cAAc,UAAU,UAAU,MAAM,kBAAkB,2BAAA,CAA4B;AAAA,MAClI;AAAA,MACA,sBAAsB,CAAC,EAAE,QAAAA,SAAQ,UAAU,mBAAmB;AAC7DC,gBAAAA,wBAAwB,EAAE,SAAS,QAAAD,SAAQ,cAAc,UAAU,UAAU,MAAM,kBAAkB,2BAAA,CAA4B;AAAA,MAClI;AAAA,MACA,iBAAiB,MAAM;AAAA,MAAC;AAAA,MACxB,uBAAuB,MAAM;AAAA,MAAC;AAAA,MAC9B,wBAAwB,MAAM;AAAA,MAAC;AAAA,MAC/B,yBAAyB,MAAM;AAAA,MAAC;AAAA,IAAA,CAChC;AAAA,EACF;AAAA,EAEO,mBAAkC;AACxC,UAAM,EAAE,YAAY,WAAW,SAAA,IAAa,KAAK;AACjD,WAAOE,kBAAAA;AAAAA,MACNC,kBAAAA;AAAAA,QACC;AAAA,QACAC,kBAAAA,YAA6D,WAAW,CAAC,EAAE,aAAa;AAAA,UACvF,GAAG;AAAA,UACH,eAAe,EAAE,GAAG,MAAM,eAAe,SAAA;AAAA,QAAS,EACjD;AAAA,MAAA;AAAA,IACH;AAAA,EAEF;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,uCAAuC,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS,GAAA;AAAA,EACrG;AACD;AAQO,MAAM,qCAAqCC,oBAAAA,uBAAuB;AAAA,EACxE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,6BAA+C;AAAA,EAC3D,WAAW,gBAAwB,eAAuB;AACzD,WAAOC,UAAAA,gBAAgB,gBAAgB,eAAe,CAAC,EAAE,kBAAkB,iBAAiB,oBAAoB;AAC/G,UACC,iBAAiB,SAAS,gBAAgB,QACvCC,UAAkC,iBAAiB,eAAe,KAClEA,KAAAA,KAAkC,kBAAkB,eAAe,KACnE,gBAAgB,cAAc,aAAa,iBAAiB,cAAc,UAC5E;AACD,eAAO,mCAAmC,mBAAmB;AAAA,UAC5D,YAAY,cAAc;AAAA,UAC1B,WAAW,gBAAgB;AAAA,UAC3B,UAAU,gBAAgB,cAAc;AAAA,QAAA,CACxC;AAAA,MACF;AACA,aAAO;AAAA,IACR,CAAC;AAAA,EACF;AACD;;;;"}
|
|
1
|
+
{"version":3,"file":"UpdateRelationOnDeleteModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/relations/UpdateRelationOnDeleteModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils.js'\nimport { createModificationType, Differ, ModificationHandler, ModificationHandlerCreateSqlOptions } from '../ModificationHandler.js'\nimport { isIt } from '../../utils/isIt.js'\nimport { updateRelations } from '../utils/diffUtils.js'\nimport { acceptRelationTypeVisitor } from '@contember/schema-utils'\nimport { addForeignKeyConstraint } from './helpers.js'\n\nexport class UpdateRelationOnDeleteModificationHandler implements ModificationHandler<UpdateRelationOnDeleteModificationData> {\n\tconstructor(\n\t\tprivate readonly data: UpdateRelationOnDeleteModificationData,\n\t\tprivate readonly schema: Schema,\n\t) {}\n\n\tpublic createSql(builder: MigrationBuilder, { databaseMetadata, invalidateDatabaseMetadata }: ModificationHandlerCreateSqlOptions): void {\n\t\tconst updatedSchema = this.getSchemaUpdater()({ schema: this.schema })\n\t\tconst entity = updatedSchema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\n\t\tacceptRelationTypeVisitor(updatedSchema.model, entity, this.data.fieldName, {\n\t\t\tvisitManyHasOne: ({ entity, relation, targetEntity }) => {\n\t\t\t\taddForeignKeyConstraint({ builder, entity, targetEntity, relation, recreate: true, databaseMetadata, invalidateDatabaseMetadata })\n\t\t\t},\n\t\t\tvisitOneHasOneOwning: ({ entity, relation, targetEntity }) => {\n\t\t\t\taddForeignKeyConstraint({ builder, entity, targetEntity, relation, recreate: true, databaseMetadata, invalidateDatabaseMetadata })\n\t\t\t},\n\t\t\tvisitOneHasMany: () => {},\n\t\t\tvisitOneHasOneInverse: () => {},\n\t\t\tvisitManyHasManyOwning: () => {},\n\t\t\tvisitManyHasManyInverse: () => {},\n\t\t})\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, fieldName, onDelete } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(\n\t\t\t\tentityName,\n\t\t\t\tupdateField<Model.AnyRelation & Model.JoiningColumnRelation>(fieldName, ({ field }) => ({\n\t\t\t\t\t...field,\n\t\t\t\t\tjoiningColumn: { ...field.joiningColumn, onDelete },\n\t\t\t\t})),\n\t\t\t),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Change on-delete policy of relation ${this.data.entityName}.${this.data.fieldName}` }\n\t}\n}\n\nexport interface UpdateRelationOnDeleteModificationData {\n\tentityName: string\n\tfieldName: string\n\tonDelete: Model.OnDelete\n}\n\nexport const updateRelationOnDeleteModification = createModificationType({\n\tid: 'updateRelationOnDelete',\n\thandler: UpdateRelationOnDeleteModificationHandler,\n})\n\nexport class UpdateRelationOnDeleteDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn updateRelations(originalSchema, updatedSchema, ({ originalRelation, updatedRelation, updatedEntity }) => {\n\t\t\tif (\n\t\t\t\toriginalRelation.type === updatedRelation.type\n\t\t\t\t&& isIt<Model.JoiningColumnRelation>(updatedRelation, 'joiningColumn')\n\t\t\t\t&& isIt<Model.JoiningColumnRelation>(originalRelation, 'joiningColumn')\n\t\t\t\t&& updatedRelation.joiningColumn.onDelete !== originalRelation.joiningColumn.onDelete\n\t\t\t) {\n\t\t\t\treturn updateRelationOnDeleteModification.createModification({\n\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\tfieldName: updatedRelation.name,\n\t\t\t\t\tonDelete: updatedRelation.joiningColumn.onDelete,\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn undefined\n\t\t})\n\t}\n}\n"],"names":["acceptRelationTypeVisitor","entity","addForeignKeyConstraint","updateModel","updateEntity","updateField","createModificationType","updateRelations","isIt"],"mappings":";;;;;;;;AASO,MAAM,0CAAiH;AAAA,EAC7H,YACkB,MACA,QAChB;AAFgB,SAAA,OAAA;AACA,SAAA,SAAA;AAAA,EACf;AAAA,EAEI,UAAU,SAA2B,EAAE,kBAAkB,8BAAyE;AACxI,UAAM,gBAAgB,KAAK,iBAAA,EAAmB,EAAE,QAAQ,KAAK,QAAQ;AACrE,UAAM,SAAS,cAAc,MAAM,SAAS,KAAK,KAAK,UAAU;AAChE,QAAI,OAAO,MAAM;AAChB;AAAA,IACD;AAEAA,gBAAAA,0BAA0B,cAAc,OAAO,QAAQ,KAAK,KAAK,WAAW;AAAA,MAC3E,iBAAiB,CAAC,EAAE,QAAAC,SAAQ,UAAU,mBAAmB;AACxDC,gBAAAA,wBAAwB,EAAE,SAAS,QAAAD,SAAQ,cAAc,UAAU,UAAU,MAAM,kBAAkB,2BAAA,CAA4B;AAAA,MAClI;AAAA,MACA,sBAAsB,CAAC,EAAE,QAAAA,SAAQ,UAAU,mBAAmB;AAC7DC,gBAAAA,wBAAwB,EAAE,SAAS,QAAAD,SAAQ,cAAc,UAAU,UAAU,MAAM,kBAAkB,2BAAA,CAA4B;AAAA,MAClI;AAAA,MACA,iBAAiB,MAAM;AAAA,MAAC;AAAA,MACxB,uBAAuB,MAAM;AAAA,MAAC;AAAA,MAC9B,wBAAwB,MAAM;AAAA,MAAC;AAAA,MAC/B,yBAAyB,MAAM;AAAA,MAAC;AAAA,IAAA,CAChC;AAAA,EACF;AAAA,EAEO,mBAAkC;AACxC,UAAM,EAAE,YAAY,WAAW,SAAA,IAAa,KAAK;AACjD,WAAOE,kBAAAA;AAAAA,MACNC,kBAAAA;AAAAA,QACC;AAAA,QACAC,kBAAAA,YAA6D,WAAW,CAAC,EAAE,aAAa;AAAA,UACvF,GAAG;AAAA,UACH,eAAe,EAAE,GAAG,MAAM,eAAe,SAAA;AAAA,QAAS,EACjD;AAAA,MAAA;AAAA,IACH;AAAA,EAEF;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,uCAAuC,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS,GAAA;AAAA,EACrG;AACD;AAQO,MAAM,qCAAqCC,oBAAAA,uBAAuB;AAAA,EACxE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,6BAA+C;AAAA,EAC3D,WAAW,gBAAwB,eAAuB;AACzD,WAAOC,UAAAA,gBAAgB,gBAAgB,eAAe,CAAC,EAAE,kBAAkB,iBAAiB,oBAAoB;AAC/G,UACC,iBAAiB,SAAS,gBAAgB,QACvCC,UAAkC,iBAAiB,eAAe,KAClEA,KAAAA,KAAkC,kBAAkB,eAAe,KACnE,gBAAgB,cAAc,aAAa,iBAAiB,cAAc,UAC5E;AACD,eAAO,mCAAmC,mBAAmB;AAAA,UAC5D,YAAY,cAAc;AAAA,UAC1B,WAAW,gBAAgB;AAAA,UAC3B,UAAU,gBAAgB,cAAc;AAAA,QAAA,CACxC;AAAA,MACF;AACA,aAAO;AAAA,IACR,CAAC;AAAA,EACF;AACD;;;;"}
|
package/dist/development/src/modifications/relations/UpdateRelationOnDeleteModification.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateRelationOnDeleteModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/relations/UpdateRelationOnDeleteModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler, ModificationHandlerCreateSqlOptions } from '../ModificationHandler'\nimport { isIt } from '../../utils/isIt'\nimport { updateRelations } from '../utils/diffUtils'\nimport { acceptRelationTypeVisitor } from '@contember/schema-utils'\nimport { addForeignKeyConstraint } from './helpers'\n\nexport class UpdateRelationOnDeleteModificationHandler implements ModificationHandler<UpdateRelationOnDeleteModificationData> {\n\tconstructor(\n\t\tprivate readonly data: UpdateRelationOnDeleteModificationData,\n\t\tprivate readonly schema: Schema,\n\t) {}\n\n\tpublic createSql(builder: MigrationBuilder, { databaseMetadata, invalidateDatabaseMetadata }: ModificationHandlerCreateSqlOptions): void {\n\t\tconst updatedSchema = this.getSchemaUpdater()({ schema: this.schema })\n\t\tconst entity = updatedSchema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\n\t\tacceptRelationTypeVisitor(updatedSchema.model, entity, this.data.fieldName, {\n\t\t\tvisitManyHasOne: ({ entity, relation, targetEntity }) => {\n\t\t\t\taddForeignKeyConstraint({ builder, entity, targetEntity, relation, recreate: true, databaseMetadata, invalidateDatabaseMetadata })\n\t\t\t},\n\t\t\tvisitOneHasOneOwning: ({ entity, relation, targetEntity }) => {\n\t\t\t\taddForeignKeyConstraint({ builder, entity, targetEntity, relation, recreate: true, databaseMetadata, invalidateDatabaseMetadata })\n\t\t\t},\n\t\t\tvisitOneHasMany: () => {},\n\t\t\tvisitOneHasOneInverse: () => {},\n\t\t\tvisitManyHasManyOwning: () => {},\n\t\t\tvisitManyHasManyInverse: () => {},\n\t\t})\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, fieldName, onDelete } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(\n\t\t\t\tentityName,\n\t\t\t\tupdateField<Model.AnyRelation & Model.JoiningColumnRelation>(fieldName, ({ field }) => ({\n\t\t\t\t\t...field,\n\t\t\t\t\tjoiningColumn: { ...field.joiningColumn, onDelete },\n\t\t\t\t})),\n\t\t\t),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Change on-delete policy of relation ${this.data.entityName}.${this.data.fieldName}` }\n\t}\n}\n\nexport interface UpdateRelationOnDeleteModificationData {\n\tentityName: string\n\tfieldName: string\n\tonDelete: Model.OnDelete\n}\n\nexport const updateRelationOnDeleteModification = createModificationType({\n\tid: 'updateRelationOnDelete',\n\thandler: UpdateRelationOnDeleteModificationHandler,\n})\n\nexport class UpdateRelationOnDeleteDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn updateRelations(originalSchema, updatedSchema, ({ originalRelation, updatedRelation, updatedEntity }) => {\n\t\t\tif (\n\t\t\t\toriginalRelation.type === updatedRelation.type\n\t\t\t\t&& isIt<Model.JoiningColumnRelation>(updatedRelation, 'joiningColumn')\n\t\t\t\t&& isIt<Model.JoiningColumnRelation>(originalRelation, 'joiningColumn')\n\t\t\t\t&& updatedRelation.joiningColumn.onDelete !== originalRelation.joiningColumn.onDelete\n\t\t\t) {\n\t\t\t\treturn updateRelationOnDeleteModification.createModification({\n\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\tfieldName: updatedRelation.name,\n\t\t\t\t\tonDelete: updatedRelation.joiningColumn.onDelete,\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn undefined\n\t\t})\n\t}\n}\n"],"names":["entity"],"mappings":";;;;;;AASO,MAAM,0CAAiH;AAAA,EAC7H,YACkB,MACA,QAChB;AAFgB,SAAA,OAAA;AACA,SAAA,SAAA;AAAA,EACf;AAAA,EAEI,UAAU,SAA2B,EAAE,kBAAkB,8BAAyE;AACxI,UAAM,gBAAgB,KAAK,iBAAA,EAAmB,EAAE,QAAQ,KAAK,QAAQ;AACrE,UAAM,SAAS,cAAc,MAAM,SAAS,KAAK,KAAK,UAAU;AAChE,QAAI,OAAO,MAAM;AAChB;AAAA,IACD;AAEA,8BAA0B,cAAc,OAAO,QAAQ,KAAK,KAAK,WAAW;AAAA,MAC3E,iBAAiB,CAAC,EAAE,QAAAA,SAAQ,UAAU,mBAAmB;AACxD,gCAAwB,EAAE,SAAS,QAAAA,SAAQ,cAAc,UAAU,UAAU,MAAM,kBAAkB,2BAAA,CAA4B;AAAA,MAClI;AAAA,MACA,sBAAsB,CAAC,EAAE,QAAAA,SAAQ,UAAU,mBAAmB;AAC7D,gCAAwB,EAAE,SAAS,QAAAA,SAAQ,cAAc,UAAU,UAAU,MAAM,kBAAkB,2BAAA,CAA4B;AAAA,MAClI;AAAA,MACA,iBAAiB,MAAM;AAAA,MAAC;AAAA,MACxB,uBAAuB,MAAM;AAAA,MAAC;AAAA,MAC9B,wBAAwB,MAAM;AAAA,MAAC;AAAA,MAC/B,yBAAyB,MAAM;AAAA,MAAC;AAAA,IAAA,CAChC;AAAA,EACF;AAAA,EAEO,mBAAkC;AACxC,UAAM,EAAE,YAAY,WAAW,SAAA,IAAa,KAAK;AACjD,WAAO;AAAA,MACN;AAAA,QACC;AAAA,QACA,YAA6D,WAAW,CAAC,EAAE,aAAa;AAAA,UACvF,GAAG;AAAA,UACH,eAAe,EAAE,GAAG,MAAM,eAAe,SAAA;AAAA,QAAS,EACjD;AAAA,MAAA;AAAA,IACH;AAAA,EAEF;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,uCAAuC,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS,GAAA;AAAA,EACrG;AACD;AAQO,MAAM,qCAAqC,uBAAuB;AAAA,EACxE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,6BAA+C;AAAA,EAC3D,WAAW,gBAAwB,eAAuB;AACzD,WAAO,gBAAgB,gBAAgB,eAAe,CAAC,EAAE,kBAAkB,iBAAiB,oBAAoB;AAC/G,UACC,iBAAiB,SAAS,gBAAgB,QACvC,KAAkC,iBAAiB,eAAe,KAClE,KAAkC,kBAAkB,eAAe,KACnE,gBAAgB,cAAc,aAAa,iBAAiB,cAAc,UAC5E;AACD,eAAO,mCAAmC,mBAAmB;AAAA,UAC5D,YAAY,cAAc;AAAA,UAC1B,WAAW,gBAAgB;AAAA,UAC3B,UAAU,gBAAgB,cAAc;AAAA,QAAA,CACxC;AAAA,MACF;AACA,aAAO;AAAA,IACR,CAAC;AAAA,EACF;AACD;"}
|
|
1
|
+
{"version":3,"file":"UpdateRelationOnDeleteModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/relations/UpdateRelationOnDeleteModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils.js'\nimport { createModificationType, Differ, ModificationHandler, ModificationHandlerCreateSqlOptions } from '../ModificationHandler.js'\nimport { isIt } from '../../utils/isIt.js'\nimport { updateRelations } from '../utils/diffUtils.js'\nimport { acceptRelationTypeVisitor } from '@contember/schema-utils'\nimport { addForeignKeyConstraint } from './helpers.js'\n\nexport class UpdateRelationOnDeleteModificationHandler implements ModificationHandler<UpdateRelationOnDeleteModificationData> {\n\tconstructor(\n\t\tprivate readonly data: UpdateRelationOnDeleteModificationData,\n\t\tprivate readonly schema: Schema,\n\t) {}\n\n\tpublic createSql(builder: MigrationBuilder, { databaseMetadata, invalidateDatabaseMetadata }: ModificationHandlerCreateSqlOptions): void {\n\t\tconst updatedSchema = this.getSchemaUpdater()({ schema: this.schema })\n\t\tconst entity = updatedSchema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\n\t\tacceptRelationTypeVisitor(updatedSchema.model, entity, this.data.fieldName, {\n\t\t\tvisitManyHasOne: ({ entity, relation, targetEntity }) => {\n\t\t\t\taddForeignKeyConstraint({ builder, entity, targetEntity, relation, recreate: true, databaseMetadata, invalidateDatabaseMetadata })\n\t\t\t},\n\t\t\tvisitOneHasOneOwning: ({ entity, relation, targetEntity }) => {\n\t\t\t\taddForeignKeyConstraint({ builder, entity, targetEntity, relation, recreate: true, databaseMetadata, invalidateDatabaseMetadata })\n\t\t\t},\n\t\t\tvisitOneHasMany: () => {},\n\t\t\tvisitOneHasOneInverse: () => {},\n\t\t\tvisitManyHasManyOwning: () => {},\n\t\t\tvisitManyHasManyInverse: () => {},\n\t\t})\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, fieldName, onDelete } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(\n\t\t\t\tentityName,\n\t\t\t\tupdateField<Model.AnyRelation & Model.JoiningColumnRelation>(fieldName, ({ field }) => ({\n\t\t\t\t\t...field,\n\t\t\t\t\tjoiningColumn: { ...field.joiningColumn, onDelete },\n\t\t\t\t})),\n\t\t\t),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Change on-delete policy of relation ${this.data.entityName}.${this.data.fieldName}` }\n\t}\n}\n\nexport interface UpdateRelationOnDeleteModificationData {\n\tentityName: string\n\tfieldName: string\n\tonDelete: Model.OnDelete\n}\n\nexport const updateRelationOnDeleteModification = createModificationType({\n\tid: 'updateRelationOnDelete',\n\thandler: UpdateRelationOnDeleteModificationHandler,\n})\n\nexport class UpdateRelationOnDeleteDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn updateRelations(originalSchema, updatedSchema, ({ originalRelation, updatedRelation, updatedEntity }) => {\n\t\t\tif (\n\t\t\t\toriginalRelation.type === updatedRelation.type\n\t\t\t\t&& isIt<Model.JoiningColumnRelation>(updatedRelation, 'joiningColumn')\n\t\t\t\t&& isIt<Model.JoiningColumnRelation>(originalRelation, 'joiningColumn')\n\t\t\t\t&& updatedRelation.joiningColumn.onDelete !== originalRelation.joiningColumn.onDelete\n\t\t\t) {\n\t\t\t\treturn updateRelationOnDeleteModification.createModification({\n\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\tfieldName: updatedRelation.name,\n\t\t\t\t\tonDelete: updatedRelation.joiningColumn.onDelete,\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn undefined\n\t\t})\n\t}\n}\n"],"names":["entity"],"mappings":";;;;;;AASO,MAAM,0CAAiH;AAAA,EAC7H,YACkB,MACA,QAChB;AAFgB,SAAA,OAAA;AACA,SAAA,SAAA;AAAA,EACf;AAAA,EAEI,UAAU,SAA2B,EAAE,kBAAkB,8BAAyE;AACxI,UAAM,gBAAgB,KAAK,iBAAA,EAAmB,EAAE,QAAQ,KAAK,QAAQ;AACrE,UAAM,SAAS,cAAc,MAAM,SAAS,KAAK,KAAK,UAAU;AAChE,QAAI,OAAO,MAAM;AAChB;AAAA,IACD;AAEA,8BAA0B,cAAc,OAAO,QAAQ,KAAK,KAAK,WAAW;AAAA,MAC3E,iBAAiB,CAAC,EAAE,QAAAA,SAAQ,UAAU,mBAAmB;AACxD,gCAAwB,EAAE,SAAS,QAAAA,SAAQ,cAAc,UAAU,UAAU,MAAM,kBAAkB,2BAAA,CAA4B;AAAA,MAClI;AAAA,MACA,sBAAsB,CAAC,EAAE,QAAAA,SAAQ,UAAU,mBAAmB;AAC7D,gCAAwB,EAAE,SAAS,QAAAA,SAAQ,cAAc,UAAU,UAAU,MAAM,kBAAkB,2BAAA,CAA4B;AAAA,MAClI;AAAA,MACA,iBAAiB,MAAM;AAAA,MAAC;AAAA,MACxB,uBAAuB,MAAM;AAAA,MAAC;AAAA,MAC9B,wBAAwB,MAAM;AAAA,MAAC;AAAA,MAC/B,yBAAyB,MAAM;AAAA,MAAC;AAAA,IAAA,CAChC;AAAA,EACF;AAAA,EAEO,mBAAkC;AACxC,UAAM,EAAE,YAAY,WAAW,SAAA,IAAa,KAAK;AACjD,WAAO;AAAA,MACN;AAAA,QACC;AAAA,QACA,YAA6D,WAAW,CAAC,EAAE,aAAa;AAAA,UACvF,GAAG;AAAA,UACH,eAAe,EAAE,GAAG,MAAM,eAAe,SAAA;AAAA,QAAS,EACjD;AAAA,MAAA;AAAA,IACH;AAAA,EAEF;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,uCAAuC,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS,GAAA;AAAA,EACrG;AACD;AAQO,MAAM,qCAAqC,uBAAuB;AAAA,EACxE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,6BAA+C;AAAA,EAC3D,WAAW,gBAAwB,eAAuB;AACzD,WAAO,gBAAgB,gBAAgB,eAAe,CAAC,EAAE,kBAAkB,iBAAiB,oBAAoB;AAC/G,UACC,iBAAiB,SAAS,gBAAgB,QACvC,KAAkC,iBAAiB,eAAe,KAClE,KAAkC,kBAAkB,eAAe,KACnE,gBAAgB,cAAc,aAAa,iBAAiB,cAAc,UAC5E;AACD,eAAO,mCAAmC,mBAAmB;AAAA,UAC5D,YAAY,cAAc;AAAA,UAC1B,WAAW,gBAAgB;AAAA,UAC3B,UAAU,gBAAgB,cAAc;AAAA,QAAA,CACxC;AAAA,MACF;AACA,aAAO;AAAA,IACR,CAAC;AAAA,EACF;AACD;"}
|
package/dist/development/src/modifications/relations/UpdateRelationOrderByModification.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateRelationOrderByModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/relations/UpdateRelationOrderByModification.ts"],"sourcesContent":["import { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport deepEqual from 'fast-deep-equal'\nimport { updateRelations } from '../utils/diffUtils'\n\nexport class UpdateRelationOrderByModificationHandler implements ModificationHandler<UpdateRelationOrderByModificationData> {\n\tconstructor(private readonly data: UpdateRelationOrderByModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(): void {}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, fieldName, orderBy } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(\n\t\t\t\tentityName,\n\t\t\t\tupdateField<Model.AnyRelation & Model.OrderableRelation>(fieldName, ({ field }) => ({\n\t\t\t\t\t...field,\n\t\t\t\t\torderBy,\n\t\t\t\t})),\n\t\t\t),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Update order-by of relation ${this.data.entityName}.${this.data.fieldName}` }\n\t}\n}\n\nexport interface UpdateRelationOrderByModificationData {\n\tentityName: string\n\tfieldName: string\n\torderBy: readonly Model.OrderBy[]\n}\n\nexport const updateRelationOrderByModification = createModificationType({\n\tid: 'updateRelationOrderBy',\n\thandler: UpdateRelationOrderByModificationHandler,\n})\n\nexport class UpdateRelationOrderByDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn updateRelations(originalSchema, updatedSchema, ({ updatedRelation, originalRelation, updatedEntity }) => {\n\t\t\tconst isItOrderable = (relation: Model.AnyRelation): relation is Model.OrderableRelation & Model.AnyRelation =>\n\t\t\t\trelation.type === Model.RelationType.ManyHasMany || relation.type === Model.RelationType.OneHasMany\n\t\t\tif (\n\t\t\t\tupdatedRelation.type === originalRelation.type\n\t\t\t\t&& isItOrderable(updatedRelation)\n\t\t\t\t&& isItOrderable(originalRelation)\n\t\t\t\t&& !deepEqual(updatedRelation.orderBy || [], originalRelation.orderBy || [])\n\t\t\t) {\n\t\t\t\treturn updateRelationOrderByModification.createModification({\n\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\tfieldName: updatedRelation.name,\n\t\t\t\t\torderBy: updatedRelation.orderBy || [],\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn undefined\n\t\t})\n\t}\n}\n"],"names":["schema","updateModel","updateEntity","updateField","createModificationType","updateRelations","Model"],"mappings":";;;;;;;AAMO,MAAM,yCAA+G;AAAA,EAC3H,YAA6B,MAA8DA,SAAgB;AAA9E,SAAA,OAAA;AAA8D,SAAA,SAAAA;AAAA,EAAiB;AAAA,EAErG,YAAkB;AAAA,EAAC;AAAA,EAEnB,mBAAkC;AACxC,UAAM,EAAE,YAAY,WAAW,QAAA,IAAY,KAAK;AAChD,WAAOC,kBAAAA;AAAAA,MACNC,kBAAAA;AAAAA,QACC;AAAA,QACAC,kBAAAA,YAAyD,WAAW,CAAC,EAAE,aAAa;AAAA,UACnF,GAAG;AAAA,UACH;AAAA,QAAA,EACC;AAAA,MAAA;AAAA,IACH;AAAA,EAEF;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,+BAA+B,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS,GAAA;AAAA,EAC7F;AACD;AAQO,MAAM,oCAAoCC,oBAAAA,uBAAuB;AAAA,EACvE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,4BAA8C;AAAA,EAC1D,WAAW,gBAAwB,eAAuB;AACzD,WAAOC,UAAAA,gBAAgB,gBAAgB,eAAe,CAAC,EAAE,iBAAiB,kBAAkB,oBAAoB;AAC/G,YAAM,gBAAgB,CAAC,aACtB,SAAS,SAASC,OAAAA,MAAM,aAAa,eAAe,SAAS,SAASA,OAAAA,MAAM,aAAa;AAC1F,UACC,gBAAgB,SAAS,iBAAiB,QACvC,cAAc,eAAe,KAC7B,cAAc,gBAAgB,KAC9B,CAAC,UAAU,gBAAgB,WAAW,CAAA,GAAI,iBAAiB,WAAW,CAAA,CAAE,GAC1E;AACD,eAAO,kCAAkC,mBAAmB;AAAA,UAC3D,YAAY,cAAc;AAAA,UAC1B,WAAW,gBAAgB;AAAA,UAC3B,SAAS,gBAAgB,WAAW,CAAA;AAAA,QAAC,CACrC;AAAA,MACF;AACA,aAAO;AAAA,IACR,CAAC;AAAA,EACF;AACD;;;;"}
|
|
1
|
+
{"version":3,"file":"UpdateRelationOrderByModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/relations/UpdateRelationOrderByModification.ts"],"sourcesContent":["import { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils.js'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler.js'\nimport deepEqual from 'fast-deep-equal'\nimport { updateRelations } from '../utils/diffUtils.js'\n\nexport class UpdateRelationOrderByModificationHandler implements ModificationHandler<UpdateRelationOrderByModificationData> {\n\tconstructor(private readonly data: UpdateRelationOrderByModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(): void {}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, fieldName, orderBy } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(\n\t\t\t\tentityName,\n\t\t\t\tupdateField<Model.AnyRelation & Model.OrderableRelation>(fieldName, ({ field }) => ({\n\t\t\t\t\t...field,\n\t\t\t\t\torderBy,\n\t\t\t\t})),\n\t\t\t),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Update order-by of relation ${this.data.entityName}.${this.data.fieldName}` }\n\t}\n}\n\nexport interface UpdateRelationOrderByModificationData {\n\tentityName: string\n\tfieldName: string\n\torderBy: readonly Model.OrderBy[]\n}\n\nexport const updateRelationOrderByModification = createModificationType({\n\tid: 'updateRelationOrderBy',\n\thandler: UpdateRelationOrderByModificationHandler,\n})\n\nexport class UpdateRelationOrderByDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn updateRelations(originalSchema, updatedSchema, ({ updatedRelation, originalRelation, updatedEntity }) => {\n\t\t\tconst isItOrderable = (relation: Model.AnyRelation): relation is Model.OrderableRelation & Model.AnyRelation =>\n\t\t\t\trelation.type === Model.RelationType.ManyHasMany || relation.type === Model.RelationType.OneHasMany\n\t\t\tif (\n\t\t\t\tupdatedRelation.type === originalRelation.type\n\t\t\t\t&& isItOrderable(updatedRelation)\n\t\t\t\t&& isItOrderable(originalRelation)\n\t\t\t\t&& !deepEqual(updatedRelation.orderBy || [], originalRelation.orderBy || [])\n\t\t\t) {\n\t\t\t\treturn updateRelationOrderByModification.createModification({\n\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\tfieldName: updatedRelation.name,\n\t\t\t\t\torderBy: updatedRelation.orderBy || [],\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn undefined\n\t\t})\n\t}\n}\n"],"names":["schema","updateModel","updateEntity","updateField","createModificationType","updateRelations","Model"],"mappings":";;;;;;;AAMO,MAAM,yCAA+G;AAAA,EAC3H,YAA6B,MAA8DA,SAAgB;AAA9E,SAAA,OAAA;AAA8D,SAAA,SAAAA;AAAA,EAAiB;AAAA,EAErG,YAAkB;AAAA,EAAC;AAAA,EAEnB,mBAAkC;AACxC,UAAM,EAAE,YAAY,WAAW,QAAA,IAAY,KAAK;AAChD,WAAOC,kBAAAA;AAAAA,MACNC,kBAAAA;AAAAA,QACC;AAAA,QACAC,kBAAAA,YAAyD,WAAW,CAAC,EAAE,aAAa;AAAA,UACnF,GAAG;AAAA,UACH;AAAA,QAAA,EACC;AAAA,MAAA;AAAA,IACH;AAAA,EAEF;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,+BAA+B,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS,GAAA;AAAA,EAC7F;AACD;AAQO,MAAM,oCAAoCC,oBAAAA,uBAAuB;AAAA,EACvE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,4BAA8C;AAAA,EAC1D,WAAW,gBAAwB,eAAuB;AACzD,WAAOC,UAAAA,gBAAgB,gBAAgB,eAAe,CAAC,EAAE,iBAAiB,kBAAkB,oBAAoB;AAC/G,YAAM,gBAAgB,CAAC,aACtB,SAAS,SAASC,OAAAA,MAAM,aAAa,eAAe,SAAS,SAASA,OAAAA,MAAM,aAAa;AAC1F,UACC,gBAAgB,SAAS,iBAAiB,QACvC,cAAc,eAAe,KAC7B,cAAc,gBAAgB,KAC9B,CAAC,UAAU,gBAAgB,WAAW,CAAA,GAAI,iBAAiB,WAAW,CAAA,CAAE,GAC1E;AACD,eAAO,kCAAkC,mBAAmB;AAAA,UAC3D,YAAY,cAAc;AAAA,UAC1B,WAAW,gBAAgB;AAAA,UAC3B,SAAS,gBAAgB,WAAW,CAAA;AAAA,QAAC,CACrC;AAAA,MACF;AACA,aAAO;AAAA,IACR,CAAC;AAAA,EACF;AACD;;;;"}
|
package/dist/development/src/modifications/relations/UpdateRelationOrderByModification.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateRelationOrderByModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/relations/UpdateRelationOrderByModification.ts"],"sourcesContent":["import { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport deepEqual from 'fast-deep-equal'\nimport { updateRelations } from '../utils/diffUtils'\n\nexport class UpdateRelationOrderByModificationHandler implements ModificationHandler<UpdateRelationOrderByModificationData> {\n\tconstructor(private readonly data: UpdateRelationOrderByModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(): void {}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, fieldName, orderBy } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(\n\t\t\t\tentityName,\n\t\t\t\tupdateField<Model.AnyRelation & Model.OrderableRelation>(fieldName, ({ field }) => ({\n\t\t\t\t\t...field,\n\t\t\t\t\torderBy,\n\t\t\t\t})),\n\t\t\t),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Update order-by of relation ${this.data.entityName}.${this.data.fieldName}` }\n\t}\n}\n\nexport interface UpdateRelationOrderByModificationData {\n\tentityName: string\n\tfieldName: string\n\torderBy: readonly Model.OrderBy[]\n}\n\nexport const updateRelationOrderByModification = createModificationType({\n\tid: 'updateRelationOrderBy',\n\thandler: UpdateRelationOrderByModificationHandler,\n})\n\nexport class UpdateRelationOrderByDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn updateRelations(originalSchema, updatedSchema, ({ updatedRelation, originalRelation, updatedEntity }) => {\n\t\t\tconst isItOrderable = (relation: Model.AnyRelation): relation is Model.OrderableRelation & Model.AnyRelation =>\n\t\t\t\trelation.type === Model.RelationType.ManyHasMany || relation.type === Model.RelationType.OneHasMany\n\t\t\tif (\n\t\t\t\tupdatedRelation.type === originalRelation.type\n\t\t\t\t&& isItOrderable(updatedRelation)\n\t\t\t\t&& isItOrderable(originalRelation)\n\t\t\t\t&& !deepEqual(updatedRelation.orderBy || [], originalRelation.orderBy || [])\n\t\t\t) {\n\t\t\t\treturn updateRelationOrderByModification.createModification({\n\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\tfieldName: updatedRelation.name,\n\t\t\t\t\torderBy: updatedRelation.orderBy || [],\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn undefined\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;;;;AAMO,MAAM,yCAA+G;AAAA,EAC3H,YAA6B,MAA8D,QAAgB;AAA9E,SAAA,OAAA;AAA8D,SAAA,SAAA;AAAA,EAAiB;AAAA,EAErG,YAAkB;AAAA,EAAC;AAAA,EAEnB,mBAAkC;AACxC,UAAM,EAAE,YAAY,WAAW,QAAA,IAAY,KAAK;AAChD,WAAO;AAAA,MACN;AAAA,QACC;AAAA,QACA,YAAyD,WAAW,CAAC,EAAE,aAAa;AAAA,UACnF,GAAG;AAAA,UACH;AAAA,QAAA,EACC;AAAA,MAAA;AAAA,IACH;AAAA,EAEF;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,+BAA+B,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS,GAAA;AAAA,EAC7F;AACD;AAQO,MAAM,oCAAoC,uBAAuB;AAAA,EACvE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,4BAA8C;AAAA,EAC1D,WAAW,gBAAwB,eAAuB;AACzD,WAAO,gBAAgB,gBAAgB,eAAe,CAAC,EAAE,iBAAiB,kBAAkB,oBAAoB;AAC/G,YAAM,gBAAgB,CAAC,aACtB,SAAS,SAAS,MAAM,aAAa,eAAe,SAAS,SAAS,MAAM,aAAa;AAC1F,UACC,gBAAgB,SAAS,iBAAiB,QACvC,cAAc,eAAe,KAC7B,cAAc,gBAAgB,KAC9B,CAAC,UAAU,gBAAgB,WAAW,CAAA,GAAI,iBAAiB,WAAW,CAAA,CAAE,GAC1E;AACD,eAAO,kCAAkC,mBAAmB;AAAA,UAC3D,YAAY,cAAc;AAAA,UAC1B,WAAW,gBAAgB;AAAA,UAC3B,SAAS,gBAAgB,WAAW,CAAA;AAAA,QAAC,CACrC;AAAA,MACF;AACA,aAAO;AAAA,IACR,CAAC;AAAA,EACF;AACD;"}
|
|
1
|
+
{"version":3,"file":"UpdateRelationOrderByModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/relations/UpdateRelationOrderByModification.ts"],"sourcesContent":["import { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils.js'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler.js'\nimport deepEqual from 'fast-deep-equal'\nimport { updateRelations } from '../utils/diffUtils.js'\n\nexport class UpdateRelationOrderByModificationHandler implements ModificationHandler<UpdateRelationOrderByModificationData> {\n\tconstructor(private readonly data: UpdateRelationOrderByModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(): void {}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\tconst { entityName, fieldName, orderBy } = this.data\n\t\treturn updateModel(\n\t\t\tupdateEntity(\n\t\t\t\tentityName,\n\t\t\t\tupdateField<Model.AnyRelation & Model.OrderableRelation>(fieldName, ({ field }) => ({\n\t\t\t\t\t...field,\n\t\t\t\t\torderBy,\n\t\t\t\t})),\n\t\t\t),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Update order-by of relation ${this.data.entityName}.${this.data.fieldName}` }\n\t}\n}\n\nexport interface UpdateRelationOrderByModificationData {\n\tentityName: string\n\tfieldName: string\n\torderBy: readonly Model.OrderBy[]\n}\n\nexport const updateRelationOrderByModification = createModificationType({\n\tid: 'updateRelationOrderBy',\n\thandler: UpdateRelationOrderByModificationHandler,\n})\n\nexport class UpdateRelationOrderByDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn updateRelations(originalSchema, updatedSchema, ({ updatedRelation, originalRelation, updatedEntity }) => {\n\t\t\tconst isItOrderable = (relation: Model.AnyRelation): relation is Model.OrderableRelation & Model.AnyRelation =>\n\t\t\t\trelation.type === Model.RelationType.ManyHasMany || relation.type === Model.RelationType.OneHasMany\n\t\t\tif (\n\t\t\t\tupdatedRelation.type === originalRelation.type\n\t\t\t\t&& isItOrderable(updatedRelation)\n\t\t\t\t&& isItOrderable(originalRelation)\n\t\t\t\t&& !deepEqual(updatedRelation.orderBy || [], originalRelation.orderBy || [])\n\t\t\t) {\n\t\t\t\treturn updateRelationOrderByModification.createModification({\n\t\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\t\tfieldName: updatedRelation.name,\n\t\t\t\t\torderBy: updatedRelation.orderBy || [],\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn undefined\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;;;;AAMO,MAAM,yCAA+G;AAAA,EAC3H,YAA6B,MAA8D,QAAgB;AAA9E,SAAA,OAAA;AAA8D,SAAA,SAAA;AAAA,EAAiB;AAAA,EAErG,YAAkB;AAAA,EAAC;AAAA,EAEnB,mBAAkC;AACxC,UAAM,EAAE,YAAY,WAAW,QAAA,IAAY,KAAK;AAChD,WAAO;AAAA,MACN;AAAA,QACC;AAAA,QACA,YAAyD,WAAW,CAAC,EAAE,aAAa;AAAA,UACnF,GAAG;AAAA,UACH;AAAA,QAAA,EACC;AAAA,MAAA;AAAA,IACH;AAAA,EAEF;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,+BAA+B,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS,GAAA;AAAA,EAC7F;AACD;AAQO,MAAM,oCAAoC,uBAAuB;AAAA,EACvE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,4BAA8C;AAAA,EAC1D,WAAW,gBAAwB,eAAuB;AACzD,WAAO,gBAAgB,gBAAgB,eAAe,CAAC,EAAE,iBAAiB,kBAAkB,oBAAoB;AAC/G,YAAM,gBAAgB,CAAC,aACtB,SAAS,SAAS,MAAM,aAAa,eAAe,SAAS,SAAS,MAAM,aAAa;AAC1F,UACC,gBAAgB,SAAS,iBAAiB,QACvC,cAAc,eAAe,KAC7B,cAAc,gBAAgB,KAC9B,CAAC,UAAU,gBAAgB,WAAW,CAAA,GAAI,iBAAiB,WAAW,CAAA,CAAE,GAC1E;AACD,eAAO,kCAAkC,mBAAmB;AAAA,UAC3D,YAAY,cAAc;AAAA,UAC1B,WAAW,gBAAgB;AAAA,UAC3B,SAAS,gBAAgB,WAAW,CAAA;AAAA,QAAC,CACrC;AAAA,MACF;AACA,aAAO;AAAA,IACR,CAAC;AAAA,EACF;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/relations/helpers.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model } from '@contember/schema'\nimport { wrapIdentifier } from '../../utils/dbHelpers'\nimport { DatabaseMetadata } from '@contember/database'\n\nexport const addForeignKeyConstraint = ({ builder, entity, relation, targetEntity, recreate = false, databaseMetadata, invalidateDatabaseMetadata }: {\n\trecreate?: boolean\n\tbuilder: MigrationBuilder\n\tentity: Model.Entity\n\ttargetEntity: Model.Entity\n\trelation: Model.OneHasOneOwningRelation | Model.ManyHasOneRelation\n\tdatabaseMetadata: DatabaseMetadata\n\tinvalidateDatabaseMetadata: () => void\n}) => {\n\tif (recreate) {\n\t\tconst fkNames = databaseMetadata.foreignKeys.filter(\n\t\t\t{\n\t\t\t\tfromTable: entity.tableName,\n\t\t\t\tfromColumn: relation.joiningColumn.columnName,\n\t\t\t\ttoTable: targetEntity.tableName,\n\t\t\t\ttoColumn: targetEntity.primaryColumn,\n\t\t\t},\n\t\t).getNames()\n\t\tfor (const name of fkNames) {\n\t\t\tbuilder.sql(`ALTER TABLE ${wrapIdentifier(entity.tableName)} DROP CONSTRAINT ${wrapIdentifier(name)}`)\n\t\t}\n\t}\n\n\tconst onDelete = ({\n\t\t[Model.OnDelete.setNull]: 'SET NULL',\n\t\t[Model.OnDelete.cascade]: 'CASCADE',\n\t\t[Model.OnDelete.restrict]: 'NO ACTION',\n\t} as const)[relation.joiningColumn.onDelete]\n\tbuilder.sql(`ALTER TABLE ${wrapIdentifier(entity.tableName)}\n\t\tADD FOREIGN KEY (${wrapIdentifier(relation.joiningColumn.columnName)}) \n\t\tREFERENCES ${wrapIdentifier(targetEntity.tableName)}(${\n\t\twrapIdentifier(targetEntity.primaryColumn)\n\t}) ON DELETE ${onDelete} DEFERRABLE INITIALLY IMMEDIATE`)\n\n\tinvalidateDatabaseMetadata()\n}\n"],"names":["wrapIdentifier","Model"],"mappings":";;;;AAKO,MAAM,0BAA0B,CAAC,EAAE,SAAS,QAAQ,UAAU,cAAc,WAAW,OAAO,kBAAkB,iCAQjH;AACL,MAAI,UAAU;AACb,UAAM,UAAU,iBAAiB,YAAY;AAAA,MAC5C;AAAA,QACC,WAAW,OAAO;AAAA,QAClB,YAAY,SAAS,cAAc;AAAA,QACnC,SAAS,aAAa;AAAA,QACtB,UAAU,aAAa;AAAA,MAAA;AAAA,IACxB,EACC,SAAA;AACF,eAAW,QAAQ,SAAS;AAC3B,cAAQ,IAAI,eAAeA,UAAAA,eAAe,OAAO,SAAS,CAAC,oBAAoBA,UAAAA,eAAe,IAAI,CAAC,EAAE;AAAA,IACtG;AAAA,EACD;AAEA,QAAM,WAAY;AAAA,IACjB,CAACC,OAAAA,MAAM,SAAS,OAAO,GAAG;AAAA,IAC1B,CAACA,OAAAA,MAAM,SAAS,OAAO,GAAG;AAAA,IAC1B,CAACA,OAAAA,MAAM,SAAS,QAAQ,GAAG;AAAA,EAAA,EAChB,SAAS,cAAc,QAAQ;AAC3C,UAAQ,IAAI,eAAeD,UAAAA,eAAe,OAAO,SAAS,CAAC;AAAA,qBACvCA,yBAAe,SAAS,cAAc,UAAU,CAAC;AAAA,eACvDA,yBAAe,aAAa,SAAS,CAAC,IACnDA,UAAAA,eAAe,aAAa,aAAa,CAC1C,eAAe,QAAQ,iCAAiC;AAExD,6BAAA;AACD;;"}
|
|
1
|
+
{"version":3,"file":"helpers.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/relations/helpers.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model } from '@contember/schema'\nimport { wrapIdentifier } from '../../utils/dbHelpers.js'\nimport { DatabaseMetadata } from '@contember/database'\n\nexport const addForeignKeyConstraint = ({ builder, entity, relation, targetEntity, recreate = false, databaseMetadata, invalidateDatabaseMetadata }: {\n\trecreate?: boolean\n\tbuilder: MigrationBuilder\n\tentity: Model.Entity\n\ttargetEntity: Model.Entity\n\trelation: Model.OneHasOneOwningRelation | Model.ManyHasOneRelation\n\tdatabaseMetadata: DatabaseMetadata\n\tinvalidateDatabaseMetadata: () => void\n}) => {\n\tif (recreate) {\n\t\tconst fkNames = databaseMetadata.foreignKeys.filter(\n\t\t\t{\n\t\t\t\tfromTable: entity.tableName,\n\t\t\t\tfromColumn: relation.joiningColumn.columnName,\n\t\t\t\ttoTable: targetEntity.tableName,\n\t\t\t\ttoColumn: targetEntity.primaryColumn,\n\t\t\t},\n\t\t).getNames()\n\t\tfor (const name of fkNames) {\n\t\t\tbuilder.sql(`ALTER TABLE ${wrapIdentifier(entity.tableName)} DROP CONSTRAINT ${wrapIdentifier(name)}`)\n\t\t}\n\t}\n\n\tconst onDelete = ({\n\t\t[Model.OnDelete.setNull]: 'SET NULL',\n\t\t[Model.OnDelete.cascade]: 'CASCADE',\n\t\t[Model.OnDelete.restrict]: 'NO ACTION',\n\t} as const)[relation.joiningColumn.onDelete]\n\tbuilder.sql(`ALTER TABLE ${wrapIdentifier(entity.tableName)}\n\t\tADD FOREIGN KEY (${wrapIdentifier(relation.joiningColumn.columnName)}) \n\t\tREFERENCES ${wrapIdentifier(targetEntity.tableName)}(${\n\t\twrapIdentifier(targetEntity.primaryColumn)\n\t}) ON DELETE ${onDelete} DEFERRABLE INITIALLY IMMEDIATE`)\n\n\tinvalidateDatabaseMetadata()\n}\n"],"names":["wrapIdentifier","Model"],"mappings":";;;;AAKO,MAAM,0BAA0B,CAAC,EAAE,SAAS,QAAQ,UAAU,cAAc,WAAW,OAAO,kBAAkB,iCAQjH;AACL,MAAI,UAAU;AACb,UAAM,UAAU,iBAAiB,YAAY;AAAA,MAC5C;AAAA,QACC,WAAW,OAAO;AAAA,QAClB,YAAY,SAAS,cAAc;AAAA,QACnC,SAAS,aAAa;AAAA,QACtB,UAAU,aAAa;AAAA,MAAA;AAAA,IACxB,EACC,SAAA;AACF,eAAW,QAAQ,SAAS;AAC3B,cAAQ,IAAI,eAAeA,UAAAA,eAAe,OAAO,SAAS,CAAC,oBAAoBA,UAAAA,eAAe,IAAI,CAAC,EAAE;AAAA,IACtG;AAAA,EACD;AAEA,QAAM,WAAY;AAAA,IACjB,CAACC,OAAAA,MAAM,SAAS,OAAO,GAAG;AAAA,IAC1B,CAACA,OAAAA,MAAM,SAAS,OAAO,GAAG;AAAA,IAC1B,CAACA,OAAAA,MAAM,SAAS,QAAQ,GAAG;AAAA,EAAA,EAChB,SAAS,cAAc,QAAQ;AAC3C,UAAQ,IAAI,eAAeD,UAAAA,eAAe,OAAO,SAAS,CAAC;AAAA,qBACvCA,yBAAe,SAAS,cAAc,UAAU,CAAC;AAAA,eACvDA,yBAAe,aAAa,SAAS,CAAC,IACnDA,UAAAA,eAAe,aAAa,aAAa,CAC1C,eAAe,QAAQ,iCAAiC;AAExD,6BAAA;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sources":["../../../../../../packages/schema-migrations/src/modifications/relations/helpers.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model } from '@contember/schema'\nimport { wrapIdentifier } from '../../utils/dbHelpers'\nimport { DatabaseMetadata } from '@contember/database'\n\nexport const addForeignKeyConstraint = ({ builder, entity, relation, targetEntity, recreate = false, databaseMetadata, invalidateDatabaseMetadata }: {\n\trecreate?: boolean\n\tbuilder: MigrationBuilder\n\tentity: Model.Entity\n\ttargetEntity: Model.Entity\n\trelation: Model.OneHasOneOwningRelation | Model.ManyHasOneRelation\n\tdatabaseMetadata: DatabaseMetadata\n\tinvalidateDatabaseMetadata: () => void\n}) => {\n\tif (recreate) {\n\t\tconst fkNames = databaseMetadata.foreignKeys.filter(\n\t\t\t{\n\t\t\t\tfromTable: entity.tableName,\n\t\t\t\tfromColumn: relation.joiningColumn.columnName,\n\t\t\t\ttoTable: targetEntity.tableName,\n\t\t\t\ttoColumn: targetEntity.primaryColumn,\n\t\t\t},\n\t\t).getNames()\n\t\tfor (const name of fkNames) {\n\t\t\tbuilder.sql(`ALTER TABLE ${wrapIdentifier(entity.tableName)} DROP CONSTRAINT ${wrapIdentifier(name)}`)\n\t\t}\n\t}\n\n\tconst onDelete = ({\n\t\t[Model.OnDelete.setNull]: 'SET NULL',\n\t\t[Model.OnDelete.cascade]: 'CASCADE',\n\t\t[Model.OnDelete.restrict]: 'NO ACTION',\n\t} as const)[relation.joiningColumn.onDelete]\n\tbuilder.sql(`ALTER TABLE ${wrapIdentifier(entity.tableName)}\n\t\tADD FOREIGN KEY (${wrapIdentifier(relation.joiningColumn.columnName)}) \n\t\tREFERENCES ${wrapIdentifier(targetEntity.tableName)}(${\n\t\twrapIdentifier(targetEntity.primaryColumn)\n\t}) ON DELETE ${onDelete} DEFERRABLE INITIALLY IMMEDIATE`)\n\n\tinvalidateDatabaseMetadata()\n}\n"],"names":[],"mappings":";;AAKO,MAAM,0BAA0B,CAAC,EAAE,SAAS,QAAQ,UAAU,cAAc,WAAW,OAAO,kBAAkB,iCAQjH;AACL,MAAI,UAAU;AACb,UAAM,UAAU,iBAAiB,YAAY;AAAA,MAC5C;AAAA,QACC,WAAW,OAAO;AAAA,QAClB,YAAY,SAAS,cAAc;AAAA,QACnC,SAAS,aAAa;AAAA,QACtB,UAAU,aAAa;AAAA,MAAA;AAAA,IACxB,EACC,SAAA;AACF,eAAW,QAAQ,SAAS;AAC3B,cAAQ,IAAI,eAAe,eAAe,OAAO,SAAS,CAAC,oBAAoB,eAAe,IAAI,CAAC,EAAE;AAAA,IACtG;AAAA,EACD;AAEA,QAAM,WAAY;AAAA,IACjB,CAAC,MAAM,SAAS,OAAO,GAAG;AAAA,IAC1B,CAAC,MAAM,SAAS,OAAO,GAAG;AAAA,IAC1B,CAAC,MAAM,SAAS,QAAQ,GAAG;AAAA,EAAA,EAChB,SAAS,cAAc,QAAQ;AAC3C,UAAQ,IAAI,eAAe,eAAe,OAAO,SAAS,CAAC;AAAA,qBACvC,eAAe,SAAS,cAAc,UAAU,CAAC;AAAA,eACvD,eAAe,aAAa,SAAS,CAAC,IACnD,eAAe,aAAa,aAAa,CAC1C,eAAe,QAAQ,iCAAiC;AAExD,6BAAA;AACD;"}
|
|
1
|
+
{"version":3,"file":"helpers.js","sources":["../../../../../../packages/schema-migrations/src/modifications/relations/helpers.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model } from '@contember/schema'\nimport { wrapIdentifier } from '../../utils/dbHelpers.js'\nimport { DatabaseMetadata } from '@contember/database'\n\nexport const addForeignKeyConstraint = ({ builder, entity, relation, targetEntity, recreate = false, databaseMetadata, invalidateDatabaseMetadata }: {\n\trecreate?: boolean\n\tbuilder: MigrationBuilder\n\tentity: Model.Entity\n\ttargetEntity: Model.Entity\n\trelation: Model.OneHasOneOwningRelation | Model.ManyHasOneRelation\n\tdatabaseMetadata: DatabaseMetadata\n\tinvalidateDatabaseMetadata: () => void\n}) => {\n\tif (recreate) {\n\t\tconst fkNames = databaseMetadata.foreignKeys.filter(\n\t\t\t{\n\t\t\t\tfromTable: entity.tableName,\n\t\t\t\tfromColumn: relation.joiningColumn.columnName,\n\t\t\t\ttoTable: targetEntity.tableName,\n\t\t\t\ttoColumn: targetEntity.primaryColumn,\n\t\t\t},\n\t\t).getNames()\n\t\tfor (const name of fkNames) {\n\t\t\tbuilder.sql(`ALTER TABLE ${wrapIdentifier(entity.tableName)} DROP CONSTRAINT ${wrapIdentifier(name)}`)\n\t\t}\n\t}\n\n\tconst onDelete = ({\n\t\t[Model.OnDelete.setNull]: 'SET NULL',\n\t\t[Model.OnDelete.cascade]: 'CASCADE',\n\t\t[Model.OnDelete.restrict]: 'NO ACTION',\n\t} as const)[relation.joiningColumn.onDelete]\n\tbuilder.sql(`ALTER TABLE ${wrapIdentifier(entity.tableName)}\n\t\tADD FOREIGN KEY (${wrapIdentifier(relation.joiningColumn.columnName)}) \n\t\tREFERENCES ${wrapIdentifier(targetEntity.tableName)}(${\n\t\twrapIdentifier(targetEntity.primaryColumn)\n\t}) ON DELETE ${onDelete} DEFERRABLE INITIALLY IMMEDIATE`)\n\n\tinvalidateDatabaseMetadata()\n}\n"],"names":[],"mappings":";;AAKO,MAAM,0BAA0B,CAAC,EAAE,SAAS,QAAQ,UAAU,cAAc,WAAW,OAAO,kBAAkB,iCAQjH;AACL,MAAI,UAAU;AACb,UAAM,UAAU,iBAAiB,YAAY;AAAA,MAC5C;AAAA,QACC,WAAW,OAAO;AAAA,QAClB,YAAY,SAAS,cAAc;AAAA,QACnC,SAAS,aAAa;AAAA,QACtB,UAAU,aAAa;AAAA,MAAA;AAAA,IACxB,EACC,SAAA;AACF,eAAW,QAAQ,SAAS;AAC3B,cAAQ,IAAI,eAAe,eAAe,OAAO,SAAS,CAAC,oBAAoB,eAAe,IAAI,CAAC,EAAE;AAAA,IACtG;AAAA,EACD;AAEA,QAAM,WAAY;AAAA,IACjB,CAAC,MAAM,SAAS,OAAO,GAAG;AAAA,IAC1B,CAAC,MAAM,SAAS,OAAO,GAAG;AAAA,IAC1B,CAAC,MAAM,SAAS,QAAQ,GAAG;AAAA,EAAA,EAChB,SAAS,cAAc,QAAQ;AAC3C,UAAQ,IAAI,eAAe,eAAe,OAAO,SAAS,CAAC;AAAA,qBACvC,eAAe,SAAS,cAAc,UAAU,CAAC;AAAA,eACvD,eAAe,aAAa,SAAS,CAAC,IACnD,eAAe,aAAa,aAAa,CAC1C,eAAe,QAAQ,iCAAiC;AAExD,6BAAA;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateSettingsModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/settings/UpdateSettingsModification.ts"],"sourcesContent":["import { Schema, Settings } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport deepEqual from 'fast-deep-equal'\n\nexport class UpdateSettingsModificationHandler implements ModificationHandler<UpdateSettingsModificationData> {\n\tconstructor(\n\t\tprivate readonly data: UpdateSettingsModificationData,\n\t) {\n\t}\n\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => {\n\t\t\tconst { [this.data.key]: _, ...settings } = schema.settings\n\t\t\tif (this.data.op === 'unset') {\n\t\t\t\treturn {\n\t\t\t\t\t...schema,\n\t\t\t\t\tsettings,\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t...schema,\n\t\t\t\tsettings: { ...settings, [this.data.key]: this.data.value },\n\t\t\t}\n\t\t}\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Change settings of ${this.data.key}` }\n\t}\n}\n\nexport const updateSettingsModification = createModificationType({\n\tid: 'updateSettings',\n\thandler: UpdateSettingsModificationHandler,\n})\n\nexport class UpdateSettingsDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\tconst allKeys = Array.from(\n\t\t\tnew Set([\n\t\t\t\t...Object.keys(originalSchema.settings),\n\t\t\t\t...Object.keys(updatedSchema.settings),\n\t\t\t] as (keyof Settings.Schema)[]),\n\t\t)\n\n\t\treturn allKeys\n\t\t\t.filter(key => !deepEqual(originalSchema.settings[key], updatedSchema.settings[key]))\n\t\t\t.map(key => {\n\t\t\t\tconst value = updatedSchema.settings[key]\n\t\t\t\tif (value === undefined) {\n\t\t\t\t\treturn updateSettingsModification.createModification({\n\t\t\t\t\t\top: 'unset',\n\t\t\t\t\t\tkey,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn updateSettingsModification.createModification({\n\t\t\t\t\top: 'set',\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue,\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n\nexport interface SetSettingsModificationData<K extends keyof Settings.Schema = keyof Settings.Schema> {\n\top: 'set'\n\tkey: K\n\tvalue: Settings.Schema[K]\n}\n\nexport interface UnsetSettingsModificationData<K extends keyof Settings.Schema = keyof Settings.Schema> {\n\top: 'unset'\n\tkey: K\n}\n\nexport type UpdateSettingsModificationData =\n\t| SetSettingsModificationData\n\t| UnsetSettingsModificationData\n"],"names":["createModificationType"],"mappings":";;;;AAKO,MAAM,kCAAiG;AAAA,EAC7G,YACkB,MAChB;AADgB,SAAA,OAAA;AAAA,EAElB;AAAA,EAEO,YAAkB;AAAA,EACzB;AAAA,EAEO,mBAAkC;AACxC,WAAO,CAAC,EAAE,aAAa;AACtB,YAAM,EAAE,CAAC,KAAK,KAAK,GAAG,GAAG,GAAG,GAAG,aAAa,OAAO;AACnD,UAAI,KAAK,KAAK,OAAO,SAAS;AAC7B,eAAO;AAAA,UACN,GAAG;AAAA,UACH;AAAA,QAAA;AAAA,MAEF;AACA,aAAO;AAAA,QACN,GAAG;AAAA,QACH,UAAU,EAAE,GAAG,UAAU,CAAC,KAAK,KAAK,GAAG,GAAG,KAAK,KAAK,MAAA;AAAA,MAAM;AAAA,IAE5D;AAAA,EACD;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,sBAAsB,KAAK,KAAK,GAAG,GAAA;AAAA,EACtD;AACD;AAEO,MAAM,6BAA6BA,oBAAAA,uBAAuB;AAAA,EAChE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,qBAAuC;AAAA,EACnD,WAAW,gBAAwB,eAAuB;AACzD,UAAM,UAAU,MAAM;AAAA,0BACjB,IAAI;AAAA,QACP,GAAG,OAAO,KAAK,eAAe,QAAQ;AAAA,QACtC,GAAG,OAAO,KAAK,cAAc,QAAQ;AAAA,MAAA,CACR;AAAA,IAAA;AAG/B,WAAO,QACL,OAAO,CAAA,QAAO,CAAC,UAAU,eAAe,SAAS,GAAG,GAAG,cAAc,SAAS,GAAG,CAAC,CAAC,EACnF,IAAI,CAAA,QAAO;AACX,YAAM,QAAQ,cAAc,SAAS,GAAG;AACxC,UAAI,UAAU,QAAW;AACxB,eAAO,2BAA2B,mBAAmB;AAAA,UACpD,IAAI;AAAA,UACJ;AAAA,QAAA,CACA;AAAA,MACF;AACA,aAAO,2BAA2B,mBAAmB;AAAA,QACpD,IAAI;AAAA,QACJ;AAAA,QACA;AAAA,MAAA,CACA;AAAA,IACF,CAAC;AAAA,EACH;AACD;;;;"}
|
|
1
|
+
{"version":3,"file":"UpdateSettingsModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/settings/UpdateSettingsModification.ts"],"sourcesContent":["import { Schema, Settings } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils.js'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler.js'\nimport deepEqual from 'fast-deep-equal'\n\nexport class UpdateSettingsModificationHandler implements ModificationHandler<UpdateSettingsModificationData> {\n\tconstructor(\n\t\tprivate readonly data: UpdateSettingsModificationData,\n\t) {\n\t}\n\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => {\n\t\t\tconst { [this.data.key]: _, ...settings } = schema.settings\n\t\t\tif (this.data.op === 'unset') {\n\t\t\t\treturn {\n\t\t\t\t\t...schema,\n\t\t\t\t\tsettings,\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t...schema,\n\t\t\t\tsettings: { ...settings, [this.data.key]: this.data.value },\n\t\t\t}\n\t\t}\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Change settings of ${this.data.key}` }\n\t}\n}\n\nexport const updateSettingsModification = createModificationType({\n\tid: 'updateSettings',\n\thandler: UpdateSettingsModificationHandler,\n})\n\nexport class UpdateSettingsDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\tconst allKeys = Array.from(\n\t\t\tnew Set([\n\t\t\t\t...Object.keys(originalSchema.settings),\n\t\t\t\t...Object.keys(updatedSchema.settings),\n\t\t\t] as (keyof Settings.Schema)[]),\n\t\t)\n\n\t\treturn allKeys\n\t\t\t.filter(key => !deepEqual(originalSchema.settings[key], updatedSchema.settings[key]))\n\t\t\t.map(key => {\n\t\t\t\tconst value = updatedSchema.settings[key]\n\t\t\t\tif (value === undefined) {\n\t\t\t\t\treturn updateSettingsModification.createModification({\n\t\t\t\t\t\top: 'unset',\n\t\t\t\t\t\tkey,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn updateSettingsModification.createModification({\n\t\t\t\t\top: 'set',\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue,\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n\nexport interface SetSettingsModificationData<K extends keyof Settings.Schema = keyof Settings.Schema> {\n\top: 'set'\n\tkey: K\n\tvalue: Settings.Schema[K]\n}\n\nexport interface UnsetSettingsModificationData<K extends keyof Settings.Schema = keyof Settings.Schema> {\n\top: 'unset'\n\tkey: K\n}\n\nexport type UpdateSettingsModificationData =\n\t| SetSettingsModificationData\n\t| UnsetSettingsModificationData\n"],"names":["createModificationType"],"mappings":";;;;AAKO,MAAM,kCAAiG;AAAA,EAC7G,YACkB,MAChB;AADgB,SAAA,OAAA;AAAA,EAElB;AAAA,EAEO,YAAkB;AAAA,EACzB;AAAA,EAEO,mBAAkC;AACxC,WAAO,CAAC,EAAE,aAAa;AACtB,YAAM,EAAE,CAAC,KAAK,KAAK,GAAG,GAAG,GAAG,GAAG,aAAa,OAAO;AACnD,UAAI,KAAK,KAAK,OAAO,SAAS;AAC7B,eAAO;AAAA,UACN,GAAG;AAAA,UACH;AAAA,QAAA;AAAA,MAEF;AACA,aAAO;AAAA,QACN,GAAG;AAAA,QACH,UAAU,EAAE,GAAG,UAAU,CAAC,KAAK,KAAK,GAAG,GAAG,KAAK,KAAK,MAAA;AAAA,MAAM;AAAA,IAE5D;AAAA,EACD;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,sBAAsB,KAAK,KAAK,GAAG,GAAA;AAAA,EACtD;AACD;AAEO,MAAM,6BAA6BA,oBAAAA,uBAAuB;AAAA,EAChE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,qBAAuC;AAAA,EACnD,WAAW,gBAAwB,eAAuB;AACzD,UAAM,UAAU,MAAM;AAAA,0BACjB,IAAI;AAAA,QACP,GAAG,OAAO,KAAK,eAAe,QAAQ;AAAA,QACtC,GAAG,OAAO,KAAK,cAAc,QAAQ;AAAA,MAAA,CACR;AAAA,IAAA;AAG/B,WAAO,QACL,OAAO,CAAA,QAAO,CAAC,UAAU,eAAe,SAAS,GAAG,GAAG,cAAc,SAAS,GAAG,CAAC,CAAC,EACnF,IAAI,CAAA,QAAO;AACX,YAAM,QAAQ,cAAc,SAAS,GAAG;AACxC,UAAI,UAAU,QAAW;AACxB,eAAO,2BAA2B,mBAAmB;AAAA,UACpD,IAAI;AAAA,UACJ;AAAA,QAAA,CACA;AAAA,MACF;AACA,aAAO,2BAA2B,mBAAmB;AAAA,QACpD,IAAI;AAAA,QACJ;AAAA,QACA;AAAA,MAAA,CACA;AAAA,IACF,CAAC;AAAA,EACH;AACD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateSettingsModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/settings/UpdateSettingsModification.ts"],"sourcesContent":["import { Schema, Settings } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport deepEqual from 'fast-deep-equal'\n\nexport class UpdateSettingsModificationHandler implements ModificationHandler<UpdateSettingsModificationData> {\n\tconstructor(\n\t\tprivate readonly data: UpdateSettingsModificationData,\n\t) {\n\t}\n\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => {\n\t\t\tconst { [this.data.key]: _, ...settings } = schema.settings\n\t\t\tif (this.data.op === 'unset') {\n\t\t\t\treturn {\n\t\t\t\t\t...schema,\n\t\t\t\t\tsettings,\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t...schema,\n\t\t\t\tsettings: { ...settings, [this.data.key]: this.data.value },\n\t\t\t}\n\t\t}\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Change settings of ${this.data.key}` }\n\t}\n}\n\nexport const updateSettingsModification = createModificationType({\n\tid: 'updateSettings',\n\thandler: UpdateSettingsModificationHandler,\n})\n\nexport class UpdateSettingsDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\tconst allKeys = Array.from(\n\t\t\tnew Set([\n\t\t\t\t...Object.keys(originalSchema.settings),\n\t\t\t\t...Object.keys(updatedSchema.settings),\n\t\t\t] as (keyof Settings.Schema)[]),\n\t\t)\n\n\t\treturn allKeys\n\t\t\t.filter(key => !deepEqual(originalSchema.settings[key], updatedSchema.settings[key]))\n\t\t\t.map(key => {\n\t\t\t\tconst value = updatedSchema.settings[key]\n\t\t\t\tif (value === undefined) {\n\t\t\t\t\treturn updateSettingsModification.createModification({\n\t\t\t\t\t\top: 'unset',\n\t\t\t\t\t\tkey,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn updateSettingsModification.createModification({\n\t\t\t\t\top: 'set',\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue,\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n\nexport interface SetSettingsModificationData<K extends keyof Settings.Schema = keyof Settings.Schema> {\n\top: 'set'\n\tkey: K\n\tvalue: Settings.Schema[K]\n}\n\nexport interface UnsetSettingsModificationData<K extends keyof Settings.Schema = keyof Settings.Schema> {\n\top: 'unset'\n\tkey: K\n}\n\nexport type UpdateSettingsModificationData =\n\t| SetSettingsModificationData\n\t| UnsetSettingsModificationData\n"],"names":[],"mappings":";;AAKO,MAAM,kCAAiG;AAAA,EAC7G,YACkB,MAChB;AADgB,SAAA,OAAA;AAAA,EAElB;AAAA,EAEO,YAAkB;AAAA,EACzB;AAAA,EAEO,mBAAkC;AACxC,WAAO,CAAC,EAAE,aAAa;AACtB,YAAM,EAAE,CAAC,KAAK,KAAK,GAAG,GAAG,GAAG,GAAG,aAAa,OAAO;AACnD,UAAI,KAAK,KAAK,OAAO,SAAS;AAC7B,eAAO;AAAA,UACN,GAAG;AAAA,UACH;AAAA,QAAA;AAAA,MAEF;AACA,aAAO;AAAA,QACN,GAAG;AAAA,QACH,UAAU,EAAE,GAAG,UAAU,CAAC,KAAK,KAAK,GAAG,GAAG,KAAK,KAAK,MAAA;AAAA,MAAM;AAAA,IAE5D;AAAA,EACD;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,sBAAsB,KAAK,KAAK,GAAG,GAAA;AAAA,EACtD;AACD;AAEO,MAAM,6BAA6B,uBAAuB;AAAA,EAChE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,qBAAuC;AAAA,EACnD,WAAW,gBAAwB,eAAuB;AACzD,UAAM,UAAU,MAAM;AAAA,0BACjB,IAAI;AAAA,QACP,GAAG,OAAO,KAAK,eAAe,QAAQ;AAAA,QACtC,GAAG,OAAO,KAAK,cAAc,QAAQ;AAAA,MAAA,CACR;AAAA,IAAA;AAG/B,WAAO,QACL,OAAO,CAAA,QAAO,CAAC,UAAU,eAAe,SAAS,GAAG,GAAG,cAAc,SAAS,GAAG,CAAC,CAAC,EACnF,IAAI,CAAA,QAAO;AACX,YAAM,QAAQ,cAAc,SAAS,GAAG;AACxC,UAAI,UAAU,QAAW;AACxB,eAAO,2BAA2B,mBAAmB;AAAA,UACpD,IAAI;AAAA,UACJ;AAAA,QAAA,CACA;AAAA,MACF;AACA,aAAO,2BAA2B,mBAAmB;AAAA,QACpD,IAAI;AAAA,QACJ;AAAA,QACA;AAAA,MAAA,CACA;AAAA,IACF,CAAC;AAAA,EACH;AACD;"}
|
|
1
|
+
{"version":3,"file":"UpdateSettingsModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/settings/UpdateSettingsModification.ts"],"sourcesContent":["import { Schema, Settings } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils.js'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler.js'\nimport deepEqual from 'fast-deep-equal'\n\nexport class UpdateSettingsModificationHandler implements ModificationHandler<UpdateSettingsModificationData> {\n\tconstructor(\n\t\tprivate readonly data: UpdateSettingsModificationData,\n\t) {\n\t}\n\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => {\n\t\t\tconst { [this.data.key]: _, ...settings } = schema.settings\n\t\t\tif (this.data.op === 'unset') {\n\t\t\t\treturn {\n\t\t\t\t\t...schema,\n\t\t\t\t\tsettings,\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t...schema,\n\t\t\t\tsettings: { ...settings, [this.data.key]: this.data.value },\n\t\t\t}\n\t\t}\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Change settings of ${this.data.key}` }\n\t}\n}\n\nexport const updateSettingsModification = createModificationType({\n\tid: 'updateSettings',\n\thandler: UpdateSettingsModificationHandler,\n})\n\nexport class UpdateSettingsDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\tconst allKeys = Array.from(\n\t\t\tnew Set([\n\t\t\t\t...Object.keys(originalSchema.settings),\n\t\t\t\t...Object.keys(updatedSchema.settings),\n\t\t\t] as (keyof Settings.Schema)[]),\n\t\t)\n\n\t\treturn allKeys\n\t\t\t.filter(key => !deepEqual(originalSchema.settings[key], updatedSchema.settings[key]))\n\t\t\t.map(key => {\n\t\t\t\tconst value = updatedSchema.settings[key]\n\t\t\t\tif (value === undefined) {\n\t\t\t\t\treturn updateSettingsModification.createModification({\n\t\t\t\t\t\top: 'unset',\n\t\t\t\t\t\tkey,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn updateSettingsModification.createModification({\n\t\t\t\t\top: 'set',\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue,\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n\nexport interface SetSettingsModificationData<K extends keyof Settings.Schema = keyof Settings.Schema> {\n\top: 'set'\n\tkey: K\n\tvalue: Settings.Schema[K]\n}\n\nexport interface UnsetSettingsModificationData<K extends keyof Settings.Schema = keyof Settings.Schema> {\n\top: 'unset'\n\tkey: K\n}\n\nexport type UpdateSettingsModificationData =\n\t| SetSettingsModificationData\n\t| UnsetSettingsModificationData\n"],"names":[],"mappings":";;AAKO,MAAM,kCAAiG;AAAA,EAC7G,YACkB,MAChB;AADgB,SAAA,OAAA;AAAA,EAElB;AAAA,EAEO,YAAkB;AAAA,EACzB;AAAA,EAEO,mBAAkC;AACxC,WAAO,CAAC,EAAE,aAAa;AACtB,YAAM,EAAE,CAAC,KAAK,KAAK,GAAG,GAAG,GAAG,GAAG,aAAa,OAAO;AACnD,UAAI,KAAK,KAAK,OAAO,SAAS;AAC7B,eAAO;AAAA,UACN,GAAG;AAAA,UACH;AAAA,QAAA;AAAA,MAEF;AACA,aAAO;AAAA,QACN,GAAG;AAAA,QACH,UAAU,EAAE,GAAG,UAAU,CAAC,KAAK,KAAK,GAAG,GAAG,KAAK,KAAK,MAAA;AAAA,MAAM;AAAA,IAE5D;AAAA,EACD;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,sBAAsB,KAAK,KAAK,GAAG,GAAA;AAAA,EACtD;AACD;AAEO,MAAM,6BAA6B,uBAAuB;AAAA,EAChE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,qBAAuC;AAAA,EACnD,WAAW,gBAAwB,eAAuB;AACzD,UAAM,UAAU,MAAM;AAAA,0BACjB,IAAI;AAAA,QACP,GAAG,OAAO,KAAK,eAAe,QAAQ;AAAA,QACtC,GAAG,OAAO,KAAK,cAAc,QAAQ;AAAA,MAAA,CACR;AAAA,IAAA;AAG/B,WAAO,QACL,OAAO,CAAA,QAAO,CAAC,UAAU,eAAe,SAAS,GAAG,GAAG,cAAc,SAAS,GAAG,CAAC,CAAC,EACnF,IAAI,CAAA,QAAO;AACX,YAAM,QAAQ,cAAc,SAAS,GAAG;AACxC,UAAI,UAAU,QAAW;AACxB,eAAO,2BAA2B,mBAAmB;AAAA,UACpD,IAAI;AAAA,UACJ;AAAA,QAAA,CACA;AAAA,MACF;AACA,aAAO,2BAA2B,mBAAmB;AAAA,QACpD,IAAI;AAAA,QACJ;AAAA,QACA;AAAA,MAAA,CACA;AAAA,IACF,CAAC;AAAA,EACH;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoveIndexNamesModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/upgrade/RemoveIndexNamesModification.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEveryEntity, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class RemoveIndexNamesModificationHandler implements ModificationHandler<RemoveIndexNamesModificationData> {\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(\n\t\t\tupdateEveryEntity(({ entity }) => {\n\t\t\t\treturn {\n\t\t\t\t\t...entity,\n\t\t\t\t\tindexes: entity.indexes.map(({ name, ...other }) => other),\n\t\t\t\t\tunique: entity.unique.map(it => {\n\t\t\t\t\t\tif ('name' in it) {\n\t\t\t\t\t\t\tconst { name, ...other } = it\n\t\t\t\t\t\t\treturn other\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn it\n\t\t\t\t\t}),\n\t\t\t\t}\n\t\t\t}),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Schema upgrade: remove names of indexes and unique constraints` }\n\t}\n}\n\nexport const removeIndexNamesModification = createModificationType({\n\tid: 'removeIndexNames',\n\thandler: RemoveIndexNamesModificationHandler,\n})\n\nexport type RemoveIndexNamesModificationData = {}\n\nexport class RemoveIndexNamesDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema) {\n\t\tconst hasNames = !!Object.values(originalSchema.model.entities).find(it => {\n\t\t\treturn it.indexes.find(it => !!it.name) || it.unique.find(it => 'name' in it && !!it.name)\n\t\t})\n\t\tif (hasNames) {\n\t\t\treturn [removeIndexNamesModification.createModification({})]\n\t\t}\n\t\treturn []\n\t}\n}\n"],"names":["updateModel","updateEveryEntity","createModificationType","it"],"mappings":";;;;AAIO,MAAM,oCAAqG;AAAA,EAC1G,YAAkB;AAAA,EACzB;AAAA,EAEO,mBAAkC;AACxC,WAAOA,kBAAAA;AAAAA,MACNC,oCAAkB,CAAC,EAAE,aAAa;AACjC,eAAO;AAAA,UACN,GAAG;AAAA,UACH,SAAS,OAAO,QAAQ,IAAI,CAAC,EAAE,MAAM,GAAG,MAAA,MAAY,KAAK;AAAA,UACzD,QAAQ,OAAO,OAAO,IAAI,CAAA,OAAM;AAC/B,gBAAI,UAAU,IAAI;AACjB,oBAAM,EAAE,MAAM,GAAG,MAAA,IAAU;AAC3B,qBAAO;AAAA,YACR;AACA,mBAAO;AAAA,UACR,CAAC;AAAA,QAAA;AAAA,MAEH,CAAC;AAAA,IAAA;AAAA,EAEH;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,iEAAA;AAAA,EACnB;AACD;AAEO,MAAM,+BAA+BC,oBAAAA,uBAAuB;AAAA,EAClE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAIM,MAAM,uBAAyC;AAAA,EACrD,WAAW,gBAAwB;AAClC,UAAM,WAAW,CAAC,CAAC,OAAO,OAAO,eAAe,MAAM,QAAQ,EAAE,KAAK,CAAA,OAAM;AAC1E,aAAO,GAAG,QAAQ,KAAK,CAAAC,QAAM,CAAC,CAACA,IAAG,IAAI,KAAK,GAAG,OAAO,KAAK,CAAAA,QAAM,UAAUA,OAAM,CAAC,CAACA,IAAG,IAAI;AAAA,IAC1F,CAAC;AACD,QAAI,UAAU;AACb,aAAO,CAAC,6BAA6B,mBAAmB,CAAA,CAAE,CAAC;AAAA,IAC5D;AACA,WAAO,CAAA;AAAA,EACR;AACD;;;;"}
|
|
1
|
+
{"version":3,"file":"RemoveIndexNamesModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/upgrade/RemoveIndexNamesModification.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEveryEntity, updateModel } from '../utils/schemaUpdateUtils.js'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler.js'\n\nexport class RemoveIndexNamesModificationHandler implements ModificationHandler<RemoveIndexNamesModificationData> {\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(\n\t\t\tupdateEveryEntity(({ entity }) => {\n\t\t\t\treturn {\n\t\t\t\t\t...entity,\n\t\t\t\t\tindexes: entity.indexes.map(({ name, ...other }) => other),\n\t\t\t\t\tunique: entity.unique.map(it => {\n\t\t\t\t\t\tif ('name' in it) {\n\t\t\t\t\t\t\tconst { name, ...other } = it\n\t\t\t\t\t\t\treturn other\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn it\n\t\t\t\t\t}),\n\t\t\t\t}\n\t\t\t}),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Schema upgrade: remove names of indexes and unique constraints` }\n\t}\n}\n\nexport const removeIndexNamesModification = createModificationType({\n\tid: 'removeIndexNames',\n\thandler: RemoveIndexNamesModificationHandler,\n})\n\nexport type RemoveIndexNamesModificationData = {}\n\nexport class RemoveIndexNamesDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema) {\n\t\tconst hasNames = !!Object.values(originalSchema.model.entities).find(it => {\n\t\t\treturn it.indexes.find(it => !!it.name) || it.unique.find(it => 'name' in it && !!it.name)\n\t\t})\n\t\tif (hasNames) {\n\t\t\treturn [removeIndexNamesModification.createModification({})]\n\t\t}\n\t\treturn []\n\t}\n}\n"],"names":["updateModel","updateEveryEntity","createModificationType","it"],"mappings":";;;;AAIO,MAAM,oCAAqG;AAAA,EAC1G,YAAkB;AAAA,EACzB;AAAA,EAEO,mBAAkC;AACxC,WAAOA,kBAAAA;AAAAA,MACNC,oCAAkB,CAAC,EAAE,aAAa;AACjC,eAAO;AAAA,UACN,GAAG;AAAA,UACH,SAAS,OAAO,QAAQ,IAAI,CAAC,EAAE,MAAM,GAAG,MAAA,MAAY,KAAK;AAAA,UACzD,QAAQ,OAAO,OAAO,IAAI,CAAA,OAAM;AAC/B,gBAAI,UAAU,IAAI;AACjB,oBAAM,EAAE,MAAM,GAAG,MAAA,IAAU;AAC3B,qBAAO;AAAA,YACR;AACA,mBAAO;AAAA,UACR,CAAC;AAAA,QAAA;AAAA,MAEH,CAAC;AAAA,IAAA;AAAA,EAEH;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,iEAAA;AAAA,EACnB;AACD;AAEO,MAAM,+BAA+BC,oBAAAA,uBAAuB;AAAA,EAClE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAIM,MAAM,uBAAyC;AAAA,EACrD,WAAW,gBAAwB;AAClC,UAAM,WAAW,CAAC,CAAC,OAAO,OAAO,eAAe,MAAM,QAAQ,EAAE,KAAK,CAAA,OAAM;AAC1E,aAAO,GAAG,QAAQ,KAAK,CAAAC,QAAM,CAAC,CAACA,IAAG,IAAI,KAAK,GAAG,OAAO,KAAK,CAAAA,QAAM,UAAUA,OAAM,CAAC,CAACA,IAAG,IAAI;AAAA,IAC1F,CAAC;AACD,QAAI,UAAU;AACb,aAAO,CAAC,6BAA6B,mBAAmB,CAAA,CAAE,CAAC;AAAA,IAC5D;AACA,WAAO,CAAA;AAAA,EACR;AACD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoveIndexNamesModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/upgrade/RemoveIndexNamesModification.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEveryEntity, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class RemoveIndexNamesModificationHandler implements ModificationHandler<RemoveIndexNamesModificationData> {\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(\n\t\t\tupdateEveryEntity(({ entity }) => {\n\t\t\t\treturn {\n\t\t\t\t\t...entity,\n\t\t\t\t\tindexes: entity.indexes.map(({ name, ...other }) => other),\n\t\t\t\t\tunique: entity.unique.map(it => {\n\t\t\t\t\t\tif ('name' in it) {\n\t\t\t\t\t\t\tconst { name, ...other } = it\n\t\t\t\t\t\t\treturn other\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn it\n\t\t\t\t\t}),\n\t\t\t\t}\n\t\t\t}),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Schema upgrade: remove names of indexes and unique constraints` }\n\t}\n}\n\nexport const removeIndexNamesModification = createModificationType({\n\tid: 'removeIndexNames',\n\thandler: RemoveIndexNamesModificationHandler,\n})\n\nexport type RemoveIndexNamesModificationData = {}\n\nexport class RemoveIndexNamesDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema) {\n\t\tconst hasNames = !!Object.values(originalSchema.model.entities).find(it => {\n\t\t\treturn it.indexes.find(it => !!it.name) || it.unique.find(it => 'name' in it && !!it.name)\n\t\t})\n\t\tif (hasNames) {\n\t\t\treturn [removeIndexNamesModification.createModification({})]\n\t\t}\n\t\treturn []\n\t}\n}\n"],"names":["it"],"mappings":";;AAIO,MAAM,oCAAqG;AAAA,EAC1G,YAAkB;AAAA,EACzB;AAAA,EAEO,mBAAkC;AACxC,WAAO;AAAA,MACN,kBAAkB,CAAC,EAAE,aAAa;AACjC,eAAO;AAAA,UACN,GAAG;AAAA,UACH,SAAS,OAAO,QAAQ,IAAI,CAAC,EAAE,MAAM,GAAG,MAAA,MAAY,KAAK;AAAA,UACzD,QAAQ,OAAO,OAAO,IAAI,CAAA,OAAM;AAC/B,gBAAI,UAAU,IAAI;AACjB,oBAAM,EAAE,MAAM,GAAG,MAAA,IAAU;AAC3B,qBAAO;AAAA,YACR;AACA,mBAAO;AAAA,UACR,CAAC;AAAA,QAAA;AAAA,MAEH,CAAC;AAAA,IAAA;AAAA,EAEH;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,iEAAA;AAAA,EACnB;AACD;AAEO,MAAM,+BAA+B,uBAAuB;AAAA,EAClE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAIM,MAAM,uBAAyC;AAAA,EACrD,WAAW,gBAAwB;AAClC,UAAM,WAAW,CAAC,CAAC,OAAO,OAAO,eAAe,MAAM,QAAQ,EAAE,KAAK,CAAA,OAAM;AAC1E,aAAO,GAAG,QAAQ,KAAK,CAAAA,QAAM,CAAC,CAACA,IAAG,IAAI,KAAK,GAAG,OAAO,KAAK,CAAAA,QAAM,UAAUA,OAAM,CAAC,CAACA,IAAG,IAAI;AAAA,IAC1F,CAAC;AACD,QAAI,UAAU;AACb,aAAO,CAAC,6BAA6B,mBAAmB,CAAA,CAAE,CAAC;AAAA,IAC5D;AACA,WAAO,CAAA;AAAA,EACR;AACD;"}
|
|
1
|
+
{"version":3,"file":"RemoveIndexNamesModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/upgrade/RemoveIndexNamesModification.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEveryEntity, updateModel } from '../utils/schemaUpdateUtils.js'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler.js'\n\nexport class RemoveIndexNamesModificationHandler implements ModificationHandler<RemoveIndexNamesModificationData> {\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(\n\t\t\tupdateEveryEntity(({ entity }) => {\n\t\t\t\treturn {\n\t\t\t\t\t...entity,\n\t\t\t\t\tindexes: entity.indexes.map(({ name, ...other }) => other),\n\t\t\t\t\tunique: entity.unique.map(it => {\n\t\t\t\t\t\tif ('name' in it) {\n\t\t\t\t\t\t\tconst { name, ...other } = it\n\t\t\t\t\t\t\treturn other\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn it\n\t\t\t\t\t}),\n\t\t\t\t}\n\t\t\t}),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Schema upgrade: remove names of indexes and unique constraints` }\n\t}\n}\n\nexport const removeIndexNamesModification = createModificationType({\n\tid: 'removeIndexNames',\n\thandler: RemoveIndexNamesModificationHandler,\n})\n\nexport type RemoveIndexNamesModificationData = {}\n\nexport class RemoveIndexNamesDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema) {\n\t\tconst hasNames = !!Object.values(originalSchema.model.entities).find(it => {\n\t\t\treturn it.indexes.find(it => !!it.name) || it.unique.find(it => 'name' in it && !!it.name)\n\t\t})\n\t\tif (hasNames) {\n\t\t\treturn [removeIndexNamesModification.createModification({})]\n\t\t}\n\t\treturn []\n\t}\n}\n"],"names":["it"],"mappings":";;AAIO,MAAM,oCAAqG;AAAA,EAC1G,YAAkB;AAAA,EACzB;AAAA,EAEO,mBAAkC;AACxC,WAAO;AAAA,MACN,kBAAkB,CAAC,EAAE,aAAa;AACjC,eAAO;AAAA,UACN,GAAG;AAAA,UACH,SAAS,OAAO,QAAQ,IAAI,CAAC,EAAE,MAAM,GAAG,MAAA,MAAY,KAAK;AAAA,UACzD,QAAQ,OAAO,OAAO,IAAI,CAAA,OAAM;AAC/B,gBAAI,UAAU,IAAI;AACjB,oBAAM,EAAE,MAAM,GAAG,MAAA,IAAU;AAC3B,qBAAO;AAAA,YACR;AACA,mBAAO;AAAA,UACR,CAAC;AAAA,QAAA;AAAA,MAEH,CAAC;AAAA,IAAA;AAAA,EAEH;AAAA,EAEA,WAAW;AACV,WAAO,EAAE,SAAS,iEAAA;AAAA,EACnB;AACD;AAEO,MAAM,+BAA+B,uBAAuB;AAAA,EAClE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAIM,MAAM,uBAAyC;AAAA,EACrD,WAAW,gBAAwB;AAClC,UAAM,WAAW,CAAC,CAAC,OAAO,OAAO,eAAe,MAAM,QAAQ,EAAE,KAAK,CAAA,OAAM;AAC1E,aAAO,GAAG,QAAQ,KAAK,CAAAA,QAAM,CAAC,CAACA,IAAG,IAAI,KAAK,GAAG,OAAO,KAAK,CAAAA,QAAM,UAAUA,OAAM,CAAC,CAACA,IAAG,IAAI;AAAA,IAC1F,CAAC;AACD,QAAI,UAAU;AACb,aAAO,CAAC,6BAA6B,mBAAmB,CAAA,CAAE,CAAC;AAAA,IAC5D;AACA,WAAO,CAAA;AAAA,EACR;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createJunctionTable.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/utils/createJunctionTable.ts"],"sourcesContent":["import { createEventTrigger, createEventTrxTrigger } from './sqlUpdateUtils'\nimport { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { getPrimaryColumnType } from './getPrimaryColumnType'\nimport { wrapIdentifier } from '../../utils/dbHelpers'\n\nexport const createJunctionTableSql = (\n\tbuilder: MigrationBuilder,\n\tsystemSchema: string,\n\tschema: Schema,\n\tentity: Model.Entity,\n\ttargetEntity: Model.Entity,\n\trelation: Model.ManyHasManyOwningRelation,\n) => {\n\tconst primaryColumns = [\n\t\trelation.joiningTable.joiningColumn.columnName,\n\t\trelation.joiningTable.inverseJoiningColumn.columnName,\n\t]\n\tbuilder.createTable(\n\t\trelation.joiningTable.tableName,\n\t\t{\n\t\t\t[relation.joiningTable.joiningColumn.columnName]: {\n\t\t\t\ttype: getPrimaryColumnType(entity),\n\t\t\t\tnotNull: true,\n\t\t\t\treferences: `\"${entity.tableName}\"(\"${entity.primaryColumn}\")`,\n\t\t\t\tonDelete: 'CASCADE',\n\t\t\t},\n\t\t\t[relation.joiningTable.inverseJoiningColumn.columnName]: {\n\t\t\t\ttype: getPrimaryColumnType(targetEntity),\n\t\t\t\tnotNull: true,\n\t\t\t\treferences: `\"${targetEntity.tableName}\"(\"${targetEntity.primaryColumn}\")`,\n\t\t\t\tonDelete: 'CASCADE',\n\t\t\t},\n\t\t},\n\t)\n\n\tconst tableNameId = wrapIdentifier(relation.joiningTable.tableName)\n\tconst columnNameId = primaryColumns.map(wrapIdentifier)\n\tbuilder.sql(`ALTER TABLE ${tableNameId} ADD PRIMARY KEY (${columnNameId.join(', ')})`)\n\n\tif (relation.joiningTable.eventLog.enabled) {\n\t\tcreateEventTrigger(builder, systemSchema, relation.joiningTable.tableName, primaryColumns)\n\t\tcreateEventTrxTrigger(builder, systemSchema, relation.joiningTable.tableName)\n\t}\n}\n"],"names":["getPrimaryColumnType","wrapIdentifier","createEventTrigger","createEventTrxTrigger"],"mappings":";;;;;AAMO,MAAM,yBAAyB,CACrC,SACA,cACA,QACA,QACA,cACA,aACI;AACJ,QAAM,iBAAiB;AAAA,IACtB,SAAS,aAAa,cAAc;AAAA,IACpC,SAAS,aAAa,qBAAqB;AAAA,EAAA;AAE5C,UAAQ;AAAA,IACP,SAAS,aAAa;AAAA,IACtB;AAAA,MACC,CAAC,SAAS,aAAa,cAAc,UAAU,GAAG;AAAA,QACjD,MAAMA,qBAAAA,qBAAqB,MAAM;AAAA,QACjC,SAAS;AAAA,QACT,YAAY,IAAI,OAAO,SAAS,MAAM,OAAO,aAAa;AAAA,QAC1D,UAAU;AAAA,MAAA;AAAA,MAEX,CAAC,SAAS,aAAa,qBAAqB,UAAU,GAAG;AAAA,QACxD,MAAMA,qBAAAA,qBAAqB,YAAY;AAAA,QACvC,SAAS;AAAA,QACT,YAAY,IAAI,aAAa,SAAS,MAAM,aAAa,aAAa;AAAA,QACtE,UAAU;AAAA,MAAA;AAAA,IACX;AAAA,EACD;AAGD,QAAM,cAAcC,UAAAA,eAAe,SAAS,aAAa,SAAS;AAClE,QAAM,eAAe,eAAe,IAAIA,wBAAc;AACtD,UAAQ,IAAI,eAAe,WAAW,qBAAqB,aAAa,KAAK,IAAI,CAAC,GAAG;AAErF,MAAI,SAAS,aAAa,SAAS,SAAS;AAC3CC,mBAAAA,mBAAmB,SAAS,cAAc,SAAS,aAAa,WAAW,cAAc;AACzFC,mBAAAA,sBAAsB,SAAS,cAAc,SAAS,aAAa,SAAS;AAAA,EAC7E;AACD;;"}
|
|
1
|
+
{"version":3,"file":"createJunctionTable.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/utils/createJunctionTable.ts"],"sourcesContent":["import { createEventTrigger, createEventTrxTrigger } from './sqlUpdateUtils.js'\nimport { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { getPrimaryColumnType } from './getPrimaryColumnType.js'\nimport { wrapIdentifier } from '../../utils/dbHelpers.js'\n\nexport const createJunctionTableSql = (\n\tbuilder: MigrationBuilder,\n\tsystemSchema: string,\n\tschema: Schema,\n\tentity: Model.Entity,\n\ttargetEntity: Model.Entity,\n\trelation: Model.ManyHasManyOwningRelation,\n) => {\n\tconst primaryColumns = [\n\t\trelation.joiningTable.joiningColumn.columnName,\n\t\trelation.joiningTable.inverseJoiningColumn.columnName,\n\t]\n\tbuilder.createTable(\n\t\trelation.joiningTable.tableName,\n\t\t{\n\t\t\t[relation.joiningTable.joiningColumn.columnName]: {\n\t\t\t\ttype: getPrimaryColumnType(entity),\n\t\t\t\tnotNull: true,\n\t\t\t\treferences: `\"${entity.tableName}\"(\"${entity.primaryColumn}\")`,\n\t\t\t\tonDelete: 'CASCADE',\n\t\t\t},\n\t\t\t[relation.joiningTable.inverseJoiningColumn.columnName]: {\n\t\t\t\ttype: getPrimaryColumnType(targetEntity),\n\t\t\t\tnotNull: true,\n\t\t\t\treferences: `\"${targetEntity.tableName}\"(\"${targetEntity.primaryColumn}\")`,\n\t\t\t\tonDelete: 'CASCADE',\n\t\t\t},\n\t\t},\n\t)\n\n\tconst tableNameId = wrapIdentifier(relation.joiningTable.tableName)\n\tconst columnNameId = primaryColumns.map(wrapIdentifier)\n\tbuilder.sql(`ALTER TABLE ${tableNameId} ADD PRIMARY KEY (${columnNameId.join(', ')})`)\n\n\tif (relation.joiningTable.eventLog.enabled) {\n\t\tcreateEventTrigger(builder, systemSchema, relation.joiningTable.tableName, primaryColumns)\n\t\tcreateEventTrxTrigger(builder, systemSchema, relation.joiningTable.tableName)\n\t}\n}\n"],"names":["getPrimaryColumnType","wrapIdentifier","createEventTrigger","createEventTrxTrigger"],"mappings":";;;;;AAMO,MAAM,yBAAyB,CACrC,SACA,cACA,QACA,QACA,cACA,aACI;AACJ,QAAM,iBAAiB;AAAA,IACtB,SAAS,aAAa,cAAc;AAAA,IACpC,SAAS,aAAa,qBAAqB;AAAA,EAAA;AAE5C,UAAQ;AAAA,IACP,SAAS,aAAa;AAAA,IACtB;AAAA,MACC,CAAC,SAAS,aAAa,cAAc,UAAU,GAAG;AAAA,QACjD,MAAMA,qBAAAA,qBAAqB,MAAM;AAAA,QACjC,SAAS;AAAA,QACT,YAAY,IAAI,OAAO,SAAS,MAAM,OAAO,aAAa;AAAA,QAC1D,UAAU;AAAA,MAAA;AAAA,MAEX,CAAC,SAAS,aAAa,qBAAqB,UAAU,GAAG;AAAA,QACxD,MAAMA,qBAAAA,qBAAqB,YAAY;AAAA,QACvC,SAAS;AAAA,QACT,YAAY,IAAI,aAAa,SAAS,MAAM,aAAa,aAAa;AAAA,QACtE,UAAU;AAAA,MAAA;AAAA,IACX;AAAA,EACD;AAGD,QAAM,cAAcC,UAAAA,eAAe,SAAS,aAAa,SAAS;AAClE,QAAM,eAAe,eAAe,IAAIA,wBAAc;AACtD,UAAQ,IAAI,eAAe,WAAW,qBAAqB,aAAa,KAAK,IAAI,CAAC,GAAG;AAErF,MAAI,SAAS,aAAa,SAAS,SAAS;AAC3CC,mBAAAA,mBAAmB,SAAS,cAAc,SAAS,aAAa,WAAW,cAAc;AACzFC,mBAAAA,sBAAsB,SAAS,cAAc,SAAS,aAAa,SAAS;AAAA,EAC7E;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createJunctionTable.js","sources":["../../../../../../packages/schema-migrations/src/modifications/utils/createJunctionTable.ts"],"sourcesContent":["import { createEventTrigger, createEventTrxTrigger } from './sqlUpdateUtils'\nimport { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { getPrimaryColumnType } from './getPrimaryColumnType'\nimport { wrapIdentifier } from '../../utils/dbHelpers'\n\nexport const createJunctionTableSql = (\n\tbuilder: MigrationBuilder,\n\tsystemSchema: string,\n\tschema: Schema,\n\tentity: Model.Entity,\n\ttargetEntity: Model.Entity,\n\trelation: Model.ManyHasManyOwningRelation,\n) => {\n\tconst primaryColumns = [\n\t\trelation.joiningTable.joiningColumn.columnName,\n\t\trelation.joiningTable.inverseJoiningColumn.columnName,\n\t]\n\tbuilder.createTable(\n\t\trelation.joiningTable.tableName,\n\t\t{\n\t\t\t[relation.joiningTable.joiningColumn.columnName]: {\n\t\t\t\ttype: getPrimaryColumnType(entity),\n\t\t\t\tnotNull: true,\n\t\t\t\treferences: `\"${entity.tableName}\"(\"${entity.primaryColumn}\")`,\n\t\t\t\tonDelete: 'CASCADE',\n\t\t\t},\n\t\t\t[relation.joiningTable.inverseJoiningColumn.columnName]: {\n\t\t\t\ttype: getPrimaryColumnType(targetEntity),\n\t\t\t\tnotNull: true,\n\t\t\t\treferences: `\"${targetEntity.tableName}\"(\"${targetEntity.primaryColumn}\")`,\n\t\t\t\tonDelete: 'CASCADE',\n\t\t\t},\n\t\t},\n\t)\n\n\tconst tableNameId = wrapIdentifier(relation.joiningTable.tableName)\n\tconst columnNameId = primaryColumns.map(wrapIdentifier)\n\tbuilder.sql(`ALTER TABLE ${tableNameId} ADD PRIMARY KEY (${columnNameId.join(', ')})`)\n\n\tif (relation.joiningTable.eventLog.enabled) {\n\t\tcreateEventTrigger(builder, systemSchema, relation.joiningTable.tableName, primaryColumns)\n\t\tcreateEventTrxTrigger(builder, systemSchema, relation.joiningTable.tableName)\n\t}\n}\n"],"names":[],"mappings":";;;AAMO,MAAM,yBAAyB,CACrC,SACA,cACA,QACA,QACA,cACA,aACI;AACJ,QAAM,iBAAiB;AAAA,IACtB,SAAS,aAAa,cAAc;AAAA,IACpC,SAAS,aAAa,qBAAqB;AAAA,EAAA;AAE5C,UAAQ;AAAA,IACP,SAAS,aAAa;AAAA,IACtB;AAAA,MACC,CAAC,SAAS,aAAa,cAAc,UAAU,GAAG;AAAA,QACjD,MAAM,qBAAqB,MAAM;AAAA,QACjC,SAAS;AAAA,QACT,YAAY,IAAI,OAAO,SAAS,MAAM,OAAO,aAAa;AAAA,QAC1D,UAAU;AAAA,MAAA;AAAA,MAEX,CAAC,SAAS,aAAa,qBAAqB,UAAU,GAAG;AAAA,QACxD,MAAM,qBAAqB,YAAY;AAAA,QACvC,SAAS;AAAA,QACT,YAAY,IAAI,aAAa,SAAS,MAAM,aAAa,aAAa;AAAA,QACtE,UAAU;AAAA,MAAA;AAAA,IACX;AAAA,EACD;AAGD,QAAM,cAAc,eAAe,SAAS,aAAa,SAAS;AAClE,QAAM,eAAe,eAAe,IAAI,cAAc;AACtD,UAAQ,IAAI,eAAe,WAAW,qBAAqB,aAAa,KAAK,IAAI,CAAC,GAAG;AAErF,MAAI,SAAS,aAAa,SAAS,SAAS;AAC3C,uBAAmB,SAAS,cAAc,SAAS,aAAa,WAAW,cAAc;AACzF,0BAAsB,SAAS,cAAc,SAAS,aAAa,SAAS;AAAA,EAC7E;AACD;"}
|
|
1
|
+
{"version":3,"file":"createJunctionTable.js","sources":["../../../../../../packages/schema-migrations/src/modifications/utils/createJunctionTable.ts"],"sourcesContent":["import { createEventTrigger, createEventTrxTrigger } from './sqlUpdateUtils.js'\nimport { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { getPrimaryColumnType } from './getPrimaryColumnType.js'\nimport { wrapIdentifier } from '../../utils/dbHelpers.js'\n\nexport const createJunctionTableSql = (\n\tbuilder: MigrationBuilder,\n\tsystemSchema: string,\n\tschema: Schema,\n\tentity: Model.Entity,\n\ttargetEntity: Model.Entity,\n\trelation: Model.ManyHasManyOwningRelation,\n) => {\n\tconst primaryColumns = [\n\t\trelation.joiningTable.joiningColumn.columnName,\n\t\trelation.joiningTable.inverseJoiningColumn.columnName,\n\t]\n\tbuilder.createTable(\n\t\trelation.joiningTable.tableName,\n\t\t{\n\t\t\t[relation.joiningTable.joiningColumn.columnName]: {\n\t\t\t\ttype: getPrimaryColumnType(entity),\n\t\t\t\tnotNull: true,\n\t\t\t\treferences: `\"${entity.tableName}\"(\"${entity.primaryColumn}\")`,\n\t\t\t\tonDelete: 'CASCADE',\n\t\t\t},\n\t\t\t[relation.joiningTable.inverseJoiningColumn.columnName]: {\n\t\t\t\ttype: getPrimaryColumnType(targetEntity),\n\t\t\t\tnotNull: true,\n\t\t\t\treferences: `\"${targetEntity.tableName}\"(\"${targetEntity.primaryColumn}\")`,\n\t\t\t\tonDelete: 'CASCADE',\n\t\t\t},\n\t\t},\n\t)\n\n\tconst tableNameId = wrapIdentifier(relation.joiningTable.tableName)\n\tconst columnNameId = primaryColumns.map(wrapIdentifier)\n\tbuilder.sql(`ALTER TABLE ${tableNameId} ADD PRIMARY KEY (${columnNameId.join(', ')})`)\n\n\tif (relation.joiningTable.eventLog.enabled) {\n\t\tcreateEventTrigger(builder, systemSchema, relation.joiningTable.tableName, primaryColumns)\n\t\tcreateEventTrxTrigger(builder, systemSchema, relation.joiningTable.tableName)\n\t}\n}\n"],"names":[],"mappings":";;;AAMO,MAAM,yBAAyB,CACrC,SACA,cACA,QACA,QACA,cACA,aACI;AACJ,QAAM,iBAAiB;AAAA,IACtB,SAAS,aAAa,cAAc;AAAA,IACpC,SAAS,aAAa,qBAAqB;AAAA,EAAA;AAE5C,UAAQ;AAAA,IACP,SAAS,aAAa;AAAA,IACtB;AAAA,MACC,CAAC,SAAS,aAAa,cAAc,UAAU,GAAG;AAAA,QACjD,MAAM,qBAAqB,MAAM;AAAA,QACjC,SAAS;AAAA,QACT,YAAY,IAAI,OAAO,SAAS,MAAM,OAAO,aAAa;AAAA,QAC1D,UAAU;AAAA,MAAA;AAAA,MAEX,CAAC,SAAS,aAAa,qBAAqB,UAAU,GAAG;AAAA,QACxD,MAAM,qBAAqB,YAAY;AAAA,QACvC,SAAS;AAAA,QACT,YAAY,IAAI,aAAa,SAAS,MAAM,aAAa,aAAa;AAAA,QACtE,UAAU;AAAA,MAAA;AAAA,IACX;AAAA,EACD;AAGD,QAAM,cAAc,eAAe,SAAS,aAAa,SAAS;AAClE,QAAM,eAAe,eAAe,IAAI,cAAc;AACtD,UAAQ,IAAI,eAAe,WAAW,qBAAqB,aAAa,KAAK,IAAI,CAAC,GAAG;AAErF,MAAI,SAAS,aAAa,SAAS,SAAS;AAC3C,uBAAmB,SAAS,cAAc,SAAS,aAAa,WAAW,cAAc;AACzF,0BAAsB,SAAS,cAAc,SAAS,aAAa,SAAS;AAAA,EAC7E;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diffUtils.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/utils/diffUtils.ts"],"sourcesContent":["import { Model, Schema } from '@contember/schema'\nimport { Migration } from '../../Migration'\nimport { isColumn, isRelation } from '@contember/schema-utils'\nimport { isDefined } from '../../utils/isDefined'\nimport deepEqual from 'fast-deep-equal'\n\nexport const updateFields = <Data = { [field: string]: any }>(\n\toriginalSchema: Schema,\n\tupdatedSchema: Schema,\n\tmodificationGenerator: (args: {\n\t\toriginalEntity: Model.Entity\n\t\tupdatedEntity: Model.Entity\n\t\toriginalField: Model.AnyField\n\t\tupdatedField: Model.AnyField\n\t}) => Migration.Modification<Data> | Migration.Modification<Data>[] | undefined,\n): Migration.Modification<Data>[] => {\n\treturn Object.values(updatedSchema.model.entities)\n\t\t.filter(({ name }) => originalSchema.model.entities[name])\n\t\t.flatMap(updatedEntity => {\n\t\t\tconst originalEntity = originalSchema.model.entities[updatedEntity.name]\n\n\t\t\treturn Object.values(updatedEntity.fields)\n\t\t\t\t.flatMap(updatedField => {\n\t\t\t\t\tconst originalField = originalEntity.fields[updatedField.name]\n\t\t\t\t\tif (!originalField) {\n\t\t\t\t\t\treturn undefined\n\t\t\t\t\t}\n\t\t\t\t\tif (deepEqual(originalField, updatedField)) {\n\t\t\t\t\t\treturn undefined\n\t\t\t\t\t}\n\t\t\t\t\tconst result = modificationGenerator({\n\t\t\t\t\t\toriginalEntity,\n\t\t\t\t\t\tupdatedEntity,\n\t\t\t\t\t\toriginalField,\n\t\t\t\t\t\tupdatedField,\n\t\t\t\t\t})\n\t\t\t\t\tif (result !== undefined && !Array.isArray(result)) {\n\t\t\t\t\t\treturn [result]\n\t\t\t\t\t}\n\t\t\t\t\treturn result\n\t\t\t\t})\n\t\t\t\t.filter(isDefined)\n\t\t})\n}\n\nexport const updateColumns = <Data = { [field: string]: any }>(\n\toriginalSchema: Schema,\n\tupdatedSchema: Schema,\n\tmodificationGenerator: (args: {\n\t\toriginalEntity: Model.Entity\n\t\toriginalColumn: Model.AnyColumn\n\t\tupdatedEntity: Model.Entity\n\t\tupdatedColumn: Model.AnyColumn\n\t}) => Migration.Modification<Data> | undefined,\n): Migration.Modification<Data>[] => {\n\treturn updateFields(\n\t\toriginalSchema,\n\t\tupdatedSchema,\n\t\t({ updatedEntity, originalEntity, originalField, updatedField }) => {\n\t\t\tif (!isColumn(updatedField) || !isColumn(originalField)) {\n\t\t\t\treturn undefined\n\t\t\t}\n\t\t\treturn modificationGenerator({\n\t\t\t\toriginalEntity,\n\t\t\t\tupdatedEntity,\n\t\t\t\toriginalColumn: originalField,\n\t\t\t\tupdatedColumn: updatedField,\n\t\t\t})\n\t\t},\n\t)\n}\n\nexport const updateRelations = <Data = { [field: string]: any }>(\n\toriginalSchema: Schema,\n\tupdatedSchema: Schema,\n\tmodificationGenerator: (args: {\n\t\toriginalEntity: Model.Entity\n\t\toriginalRelation: Model.AnyRelation\n\t\tupdatedEntity: Model.Entity\n\t\tupdatedRelation: Model.AnyRelation\n\t}) => Migration.Modification<Data> | undefined,\n): Migration.Modification<Data>[] => {\n\treturn updateFields(\n\t\toriginalSchema,\n\t\tupdatedSchema,\n\t\t({ updatedEntity, originalEntity, originalField, updatedField }) => {\n\t\t\tif (!isRelation(updatedField) || !isRelation(originalField)) {\n\t\t\t\treturn undefined\n\t\t\t}\n\t\t\treturn modificationGenerator({\n\t\t\t\toriginalEntity,\n\t\t\t\tupdatedEntity,\n\t\t\t\toriginalRelation: originalField,\n\t\t\t\tupdatedRelation: updatedField,\n\t\t\t})\n\t\t},\n\t)\n}\n\nexport const createFields = <Data = { [field: string]: any }>(\n\toriginalSchema: Schema,\n\tupdatedSchema: Schema,\n\tmodificationGenerator: (args: {\n\t\toriginalEntity: Model.Entity\n\t\tupdatedEntity: Model.Entity\n\t\tnewField: Model.AnyField\n\t}) => Migration.Modification<Data> | undefined,\n): Migration.Modification<Data>[] => {\n\treturn Object.values(updatedSchema.model.entities)\n\t\t.filter(({ name }) => originalSchema.model.entities[name])\n\t\t.flatMap(updatedEntity => {\n\t\t\tconst originalEntity = originalSchema.model.entities[updatedEntity.name]\n\n\t\t\treturn Object.values(updatedEntity.fields)\n\t\t\t\t.filter(it => !originalEntity.fields[it.name])\n\t\t\t\t.map(newField => {\n\t\t\t\t\treturn modificationGenerator({\n\t\t\t\t\t\tnewField,\n\t\t\t\t\t\tupdatedEntity,\n\t\t\t\t\t\toriginalEntity,\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t\t.filter(isDefined)\n\t\t})\n}\n"],"names":["isDefined","isColumn","isRelation"],"mappings":";;;;;AAMO,MAAM,eAAe,CAC3B,gBACA,eACA,0BAMoC;AACpC,SAAO,OAAO,OAAO,cAAc,MAAM,QAAQ,EAC/C,OAAO,CAAC,EAAE,KAAA,MAAW,eAAe,MAAM,SAAS,IAAI,CAAC,EACxD,QAAQ,CAAA,kBAAiB;AACzB,UAAM,iBAAiB,eAAe,MAAM,SAAS,cAAc,IAAI;AAEvE,WAAO,OAAO,OAAO,cAAc,MAAM,EACvC,QAAQ,CAAA,iBAAgB;AACxB,YAAM,gBAAgB,eAAe,OAAO,aAAa,IAAI;AAC7D,UAAI,CAAC,eAAe;AACnB,eAAO;AAAA,MACR;AACA,UAAI,UAAU,eAAe,YAAY,GAAG;AAC3C,eAAO;AAAA,MACR;AACA,YAAM,SAAS,sBAAsB;AAAA,QACpC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA,CACA;AACD,UAAI,WAAW,UAAa,CAAC,MAAM,QAAQ,MAAM,GAAG;AACnD,eAAO,CAAC,MAAM;AAAA,MACf;AACA,aAAO;AAAA,IACR,CAAC,EACA,OAAOA,mBAAS;AAAA,EACnB,CAAC;AACH;AAEO,MAAM,gBAAgB,CAC5B,gBACA,eACA,0BAMoC;AACpC,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA,CAAC,EAAE,eAAe,gBAAgB,eAAe,mBAAmB;AACnE,UAAI,CAACC,YAAAA,SAAS,YAAY,KAAK,CAACA,YAAAA,SAAS,aAAa,GAAG;AACxD,eAAO;AAAA,MACR;AACA,aAAO,sBAAsB;AAAA,QAC5B;AAAA,QACA;AAAA,QACA,gBAAgB;AAAA,QAChB,eAAe;AAAA,MAAA,CACf;AAAA,IACF;AAAA,EAAA;AAEF;AAEO,MAAM,kBAAkB,CAC9B,gBACA,eACA,0BAMoC;AACpC,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA,CAAC,EAAE,eAAe,gBAAgB,eAAe,mBAAmB;AACnE,UAAI,CAACC,YAAAA,WAAW,YAAY,KAAK,CAACA,YAAAA,WAAW,aAAa,GAAG;AAC5D,eAAO;AAAA,MACR;AACA,aAAO,sBAAsB;AAAA,QAC5B;AAAA,QACA;AAAA,QACA,kBAAkB;AAAA,QAClB,iBAAiB;AAAA,MAAA,CACjB;AAAA,IACF;AAAA,EAAA;AAEF;AAEO,MAAM,eAAe,CAC3B,gBACA,eACA,0BAKoC;AACpC,SAAO,OAAO,OAAO,cAAc,MAAM,QAAQ,EAC/C,OAAO,CAAC,EAAE,KAAA,MAAW,eAAe,MAAM,SAAS,IAAI,CAAC,EACxD,QAAQ,CAAA,kBAAiB;AACzB,UAAM,iBAAiB,eAAe,MAAM,SAAS,cAAc,IAAI;AAEvE,WAAO,OAAO,OAAO,cAAc,MAAM,EACvC,OAAO,CAAA,OAAM,CAAC,eAAe,OAAO,GAAG,IAAI,CAAC,EAC5C,IAAI,CAAA,aAAY;AAChB,aAAO,sBAAsB;AAAA,QAC5B;AAAA,QACA;AAAA,QACA;AAAA,MAAA,CACA;AAAA,IACF,CAAC,EACA,OAAOF,mBAAS;AAAA,EACnB,CAAC;AACH;;;;;"}
|
|
1
|
+
{"version":3,"file":"diffUtils.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/utils/diffUtils.ts"],"sourcesContent":["import { Model, Schema } from '@contember/schema'\nimport { Migration } from '../../Migration.js'\nimport { isColumn, isRelation } from '@contember/schema-utils'\nimport { isDefined } from '../../utils/isDefined.js'\nimport deepEqual from 'fast-deep-equal'\n\nexport const updateFields = <Data = { [field: string]: any }>(\n\toriginalSchema: Schema,\n\tupdatedSchema: Schema,\n\tmodificationGenerator: (args: {\n\t\toriginalEntity: Model.Entity\n\t\tupdatedEntity: Model.Entity\n\t\toriginalField: Model.AnyField\n\t\tupdatedField: Model.AnyField\n\t}) => Migration.Modification<Data> | Migration.Modification<Data>[] | undefined,\n): Migration.Modification<Data>[] => {\n\treturn Object.values(updatedSchema.model.entities)\n\t\t.filter(({ name }) => originalSchema.model.entities[name])\n\t\t.flatMap(updatedEntity => {\n\t\t\tconst originalEntity = originalSchema.model.entities[updatedEntity.name]\n\n\t\t\treturn Object.values(updatedEntity.fields)\n\t\t\t\t.flatMap(updatedField => {\n\t\t\t\t\tconst originalField = originalEntity.fields[updatedField.name]\n\t\t\t\t\tif (!originalField) {\n\t\t\t\t\t\treturn undefined\n\t\t\t\t\t}\n\t\t\t\t\tif (deepEqual(originalField, updatedField)) {\n\t\t\t\t\t\treturn undefined\n\t\t\t\t\t}\n\t\t\t\t\tconst result = modificationGenerator({\n\t\t\t\t\t\toriginalEntity,\n\t\t\t\t\t\tupdatedEntity,\n\t\t\t\t\t\toriginalField,\n\t\t\t\t\t\tupdatedField,\n\t\t\t\t\t})\n\t\t\t\t\tif (result !== undefined && !Array.isArray(result)) {\n\t\t\t\t\t\treturn [result]\n\t\t\t\t\t}\n\t\t\t\t\treturn result\n\t\t\t\t})\n\t\t\t\t.filter(isDefined)\n\t\t})\n}\n\nexport const updateColumns = <Data = { [field: string]: any }>(\n\toriginalSchema: Schema,\n\tupdatedSchema: Schema,\n\tmodificationGenerator: (args: {\n\t\toriginalEntity: Model.Entity\n\t\toriginalColumn: Model.AnyColumn\n\t\tupdatedEntity: Model.Entity\n\t\tupdatedColumn: Model.AnyColumn\n\t}) => Migration.Modification<Data> | undefined,\n): Migration.Modification<Data>[] => {\n\treturn updateFields(\n\t\toriginalSchema,\n\t\tupdatedSchema,\n\t\t({ updatedEntity, originalEntity, originalField, updatedField }) => {\n\t\t\tif (!isColumn(updatedField) || !isColumn(originalField)) {\n\t\t\t\treturn undefined\n\t\t\t}\n\t\t\treturn modificationGenerator({\n\t\t\t\toriginalEntity,\n\t\t\t\tupdatedEntity,\n\t\t\t\toriginalColumn: originalField,\n\t\t\t\tupdatedColumn: updatedField,\n\t\t\t})\n\t\t},\n\t)\n}\n\nexport const updateRelations = <Data = { [field: string]: any }>(\n\toriginalSchema: Schema,\n\tupdatedSchema: Schema,\n\tmodificationGenerator: (args: {\n\t\toriginalEntity: Model.Entity\n\t\toriginalRelation: Model.AnyRelation\n\t\tupdatedEntity: Model.Entity\n\t\tupdatedRelation: Model.AnyRelation\n\t}) => Migration.Modification<Data> | undefined,\n): Migration.Modification<Data>[] => {\n\treturn updateFields(\n\t\toriginalSchema,\n\t\tupdatedSchema,\n\t\t({ updatedEntity, originalEntity, originalField, updatedField }) => {\n\t\t\tif (!isRelation(updatedField) || !isRelation(originalField)) {\n\t\t\t\treturn undefined\n\t\t\t}\n\t\t\treturn modificationGenerator({\n\t\t\t\toriginalEntity,\n\t\t\t\tupdatedEntity,\n\t\t\t\toriginalRelation: originalField,\n\t\t\t\tupdatedRelation: updatedField,\n\t\t\t})\n\t\t},\n\t)\n}\n\nexport const createFields = <Data = { [field: string]: any }>(\n\toriginalSchema: Schema,\n\tupdatedSchema: Schema,\n\tmodificationGenerator: (args: {\n\t\toriginalEntity: Model.Entity\n\t\tupdatedEntity: Model.Entity\n\t\tnewField: Model.AnyField\n\t}) => Migration.Modification<Data> | undefined,\n): Migration.Modification<Data>[] => {\n\treturn Object.values(updatedSchema.model.entities)\n\t\t.filter(({ name }) => originalSchema.model.entities[name])\n\t\t.flatMap(updatedEntity => {\n\t\t\tconst originalEntity = originalSchema.model.entities[updatedEntity.name]\n\n\t\t\treturn Object.values(updatedEntity.fields)\n\t\t\t\t.filter(it => !originalEntity.fields[it.name])\n\t\t\t\t.map(newField => {\n\t\t\t\t\treturn modificationGenerator({\n\t\t\t\t\t\tnewField,\n\t\t\t\t\t\tupdatedEntity,\n\t\t\t\t\t\toriginalEntity,\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t\t.filter(isDefined)\n\t\t})\n}\n"],"names":["isDefined","isColumn","isRelation"],"mappings":";;;;;AAMO,MAAM,eAAe,CAC3B,gBACA,eACA,0BAMoC;AACpC,SAAO,OAAO,OAAO,cAAc,MAAM,QAAQ,EAC/C,OAAO,CAAC,EAAE,KAAA,MAAW,eAAe,MAAM,SAAS,IAAI,CAAC,EACxD,QAAQ,CAAA,kBAAiB;AACzB,UAAM,iBAAiB,eAAe,MAAM,SAAS,cAAc,IAAI;AAEvE,WAAO,OAAO,OAAO,cAAc,MAAM,EACvC,QAAQ,CAAA,iBAAgB;AACxB,YAAM,gBAAgB,eAAe,OAAO,aAAa,IAAI;AAC7D,UAAI,CAAC,eAAe;AACnB,eAAO;AAAA,MACR;AACA,UAAI,UAAU,eAAe,YAAY,GAAG;AAC3C,eAAO;AAAA,MACR;AACA,YAAM,SAAS,sBAAsB;AAAA,QACpC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA,CACA;AACD,UAAI,WAAW,UAAa,CAAC,MAAM,QAAQ,MAAM,GAAG;AACnD,eAAO,CAAC,MAAM;AAAA,MACf;AACA,aAAO;AAAA,IACR,CAAC,EACA,OAAOA,mBAAS;AAAA,EACnB,CAAC;AACH;AAEO,MAAM,gBAAgB,CAC5B,gBACA,eACA,0BAMoC;AACpC,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA,CAAC,EAAE,eAAe,gBAAgB,eAAe,mBAAmB;AACnE,UAAI,CAACC,YAAAA,SAAS,YAAY,KAAK,CAACA,YAAAA,SAAS,aAAa,GAAG;AACxD,eAAO;AAAA,MACR;AACA,aAAO,sBAAsB;AAAA,QAC5B;AAAA,QACA;AAAA,QACA,gBAAgB;AAAA,QAChB,eAAe;AAAA,MAAA,CACf;AAAA,IACF;AAAA,EAAA;AAEF;AAEO,MAAM,kBAAkB,CAC9B,gBACA,eACA,0BAMoC;AACpC,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA,CAAC,EAAE,eAAe,gBAAgB,eAAe,mBAAmB;AACnE,UAAI,CAACC,YAAAA,WAAW,YAAY,KAAK,CAACA,YAAAA,WAAW,aAAa,GAAG;AAC5D,eAAO;AAAA,MACR;AACA,aAAO,sBAAsB;AAAA,QAC5B;AAAA,QACA;AAAA,QACA,kBAAkB;AAAA,QAClB,iBAAiB;AAAA,MAAA,CACjB;AAAA,IACF;AAAA,EAAA;AAEF;AAEO,MAAM,eAAe,CAC3B,gBACA,eACA,0BAKoC;AACpC,SAAO,OAAO,OAAO,cAAc,MAAM,QAAQ,EAC/C,OAAO,CAAC,EAAE,KAAA,MAAW,eAAe,MAAM,SAAS,IAAI,CAAC,EACxD,QAAQ,CAAA,kBAAiB;AACzB,UAAM,iBAAiB,eAAe,MAAM,SAAS,cAAc,IAAI;AAEvE,WAAO,OAAO,OAAO,cAAc,MAAM,EACvC,OAAO,CAAA,OAAM,CAAC,eAAe,OAAO,GAAG,IAAI,CAAC,EAC5C,IAAI,CAAA,aAAY;AAChB,aAAO,sBAAsB;AAAA,QAC5B;AAAA,QACA;AAAA,QACA;AAAA,MAAA,CACA;AAAA,IACF,CAAC,EACA,OAAOF,mBAAS;AAAA,EACnB,CAAC;AACH;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diffUtils.js","sources":["../../../../../../packages/schema-migrations/src/modifications/utils/diffUtils.ts"],"sourcesContent":["import { Model, Schema } from '@contember/schema'\nimport { Migration } from '../../Migration'\nimport { isColumn, isRelation } from '@contember/schema-utils'\nimport { isDefined } from '../../utils/isDefined'\nimport deepEqual from 'fast-deep-equal'\n\nexport const updateFields = <Data = { [field: string]: any }>(\n\toriginalSchema: Schema,\n\tupdatedSchema: Schema,\n\tmodificationGenerator: (args: {\n\t\toriginalEntity: Model.Entity\n\t\tupdatedEntity: Model.Entity\n\t\toriginalField: Model.AnyField\n\t\tupdatedField: Model.AnyField\n\t}) => Migration.Modification<Data> | Migration.Modification<Data>[] | undefined,\n): Migration.Modification<Data>[] => {\n\treturn Object.values(updatedSchema.model.entities)\n\t\t.filter(({ name }) => originalSchema.model.entities[name])\n\t\t.flatMap(updatedEntity => {\n\t\t\tconst originalEntity = originalSchema.model.entities[updatedEntity.name]\n\n\t\t\treturn Object.values(updatedEntity.fields)\n\t\t\t\t.flatMap(updatedField => {\n\t\t\t\t\tconst originalField = originalEntity.fields[updatedField.name]\n\t\t\t\t\tif (!originalField) {\n\t\t\t\t\t\treturn undefined\n\t\t\t\t\t}\n\t\t\t\t\tif (deepEqual(originalField, updatedField)) {\n\t\t\t\t\t\treturn undefined\n\t\t\t\t\t}\n\t\t\t\t\tconst result = modificationGenerator({\n\t\t\t\t\t\toriginalEntity,\n\t\t\t\t\t\tupdatedEntity,\n\t\t\t\t\t\toriginalField,\n\t\t\t\t\t\tupdatedField,\n\t\t\t\t\t})\n\t\t\t\t\tif (result !== undefined && !Array.isArray(result)) {\n\t\t\t\t\t\treturn [result]\n\t\t\t\t\t}\n\t\t\t\t\treturn result\n\t\t\t\t})\n\t\t\t\t.filter(isDefined)\n\t\t})\n}\n\nexport const updateColumns = <Data = { [field: string]: any }>(\n\toriginalSchema: Schema,\n\tupdatedSchema: Schema,\n\tmodificationGenerator: (args: {\n\t\toriginalEntity: Model.Entity\n\t\toriginalColumn: Model.AnyColumn\n\t\tupdatedEntity: Model.Entity\n\t\tupdatedColumn: Model.AnyColumn\n\t}) => Migration.Modification<Data> | undefined,\n): Migration.Modification<Data>[] => {\n\treturn updateFields(\n\t\toriginalSchema,\n\t\tupdatedSchema,\n\t\t({ updatedEntity, originalEntity, originalField, updatedField }) => {\n\t\t\tif (!isColumn(updatedField) || !isColumn(originalField)) {\n\t\t\t\treturn undefined\n\t\t\t}\n\t\t\treturn modificationGenerator({\n\t\t\t\toriginalEntity,\n\t\t\t\tupdatedEntity,\n\t\t\t\toriginalColumn: originalField,\n\t\t\t\tupdatedColumn: updatedField,\n\t\t\t})\n\t\t},\n\t)\n}\n\nexport const updateRelations = <Data = { [field: string]: any }>(\n\toriginalSchema: Schema,\n\tupdatedSchema: Schema,\n\tmodificationGenerator: (args: {\n\t\toriginalEntity: Model.Entity\n\t\toriginalRelation: Model.AnyRelation\n\t\tupdatedEntity: Model.Entity\n\t\tupdatedRelation: Model.AnyRelation\n\t}) => Migration.Modification<Data> | undefined,\n): Migration.Modification<Data>[] => {\n\treturn updateFields(\n\t\toriginalSchema,\n\t\tupdatedSchema,\n\t\t({ updatedEntity, originalEntity, originalField, updatedField }) => {\n\t\t\tif (!isRelation(updatedField) || !isRelation(originalField)) {\n\t\t\t\treturn undefined\n\t\t\t}\n\t\t\treturn modificationGenerator({\n\t\t\t\toriginalEntity,\n\t\t\t\tupdatedEntity,\n\t\t\t\toriginalRelation: originalField,\n\t\t\t\tupdatedRelation: updatedField,\n\t\t\t})\n\t\t},\n\t)\n}\n\nexport const createFields = <Data = { [field: string]: any }>(\n\toriginalSchema: Schema,\n\tupdatedSchema: Schema,\n\tmodificationGenerator: (args: {\n\t\toriginalEntity: Model.Entity\n\t\tupdatedEntity: Model.Entity\n\t\tnewField: Model.AnyField\n\t}) => Migration.Modification<Data> | undefined,\n): Migration.Modification<Data>[] => {\n\treturn Object.values(updatedSchema.model.entities)\n\t\t.filter(({ name }) => originalSchema.model.entities[name])\n\t\t.flatMap(updatedEntity => {\n\t\t\tconst originalEntity = originalSchema.model.entities[updatedEntity.name]\n\n\t\t\treturn Object.values(updatedEntity.fields)\n\t\t\t\t.filter(it => !originalEntity.fields[it.name])\n\t\t\t\t.map(newField => {\n\t\t\t\t\treturn modificationGenerator({\n\t\t\t\t\t\tnewField,\n\t\t\t\t\t\tupdatedEntity,\n\t\t\t\t\t\toriginalEntity,\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t\t.filter(isDefined)\n\t\t})\n}\n"],"names":[],"mappings":";;;AAMO,MAAM,eAAe,CAC3B,gBACA,eACA,0BAMoC;AACpC,SAAO,OAAO,OAAO,cAAc,MAAM,QAAQ,EAC/C,OAAO,CAAC,EAAE,KAAA,MAAW,eAAe,MAAM,SAAS,IAAI,CAAC,EACxD,QAAQ,CAAA,kBAAiB;AACzB,UAAM,iBAAiB,eAAe,MAAM,SAAS,cAAc,IAAI;AAEvE,WAAO,OAAO,OAAO,cAAc,MAAM,EACvC,QAAQ,CAAA,iBAAgB;AACxB,YAAM,gBAAgB,eAAe,OAAO,aAAa,IAAI;AAC7D,UAAI,CAAC,eAAe;AACnB,eAAO;AAAA,MACR;AACA,UAAI,UAAU,eAAe,YAAY,GAAG;AAC3C,eAAO;AAAA,MACR;AACA,YAAM,SAAS,sBAAsB;AAAA,QACpC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA,CACA;AACD,UAAI,WAAW,UAAa,CAAC,MAAM,QAAQ,MAAM,GAAG;AACnD,eAAO,CAAC,MAAM;AAAA,MACf;AACA,aAAO;AAAA,IACR,CAAC,EACA,OAAO,SAAS;AAAA,EACnB,CAAC;AACH;AAEO,MAAM,gBAAgB,CAC5B,gBACA,eACA,0BAMoC;AACpC,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA,CAAC,EAAE,eAAe,gBAAgB,eAAe,mBAAmB;AACnE,UAAI,CAAC,SAAS,YAAY,KAAK,CAAC,SAAS,aAAa,GAAG;AACxD,eAAO;AAAA,MACR;AACA,aAAO,sBAAsB;AAAA,QAC5B;AAAA,QACA;AAAA,QACA,gBAAgB;AAAA,QAChB,eAAe;AAAA,MAAA,CACf;AAAA,IACF;AAAA,EAAA;AAEF;AAEO,MAAM,kBAAkB,CAC9B,gBACA,eACA,0BAMoC;AACpC,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA,CAAC,EAAE,eAAe,gBAAgB,eAAe,mBAAmB;AACnE,UAAI,CAAC,WAAW,YAAY,KAAK,CAAC,WAAW,aAAa,GAAG;AAC5D,eAAO;AAAA,MACR;AACA,aAAO,sBAAsB;AAAA,QAC5B;AAAA,QACA;AAAA,QACA,kBAAkB;AAAA,QAClB,iBAAiB;AAAA,MAAA,CACjB;AAAA,IACF;AAAA,EAAA;AAEF;AAEO,MAAM,eAAe,CAC3B,gBACA,eACA,0BAKoC;AACpC,SAAO,OAAO,OAAO,cAAc,MAAM,QAAQ,EAC/C,OAAO,CAAC,EAAE,KAAA,MAAW,eAAe,MAAM,SAAS,IAAI,CAAC,EACxD,QAAQ,CAAA,kBAAiB;AACzB,UAAM,iBAAiB,eAAe,MAAM,SAAS,cAAc,IAAI;AAEvE,WAAO,OAAO,OAAO,cAAc,MAAM,EACvC,OAAO,CAAA,OAAM,CAAC,eAAe,OAAO,GAAG,IAAI,CAAC,EAC5C,IAAI,CAAA,aAAY;AAChB,aAAO,sBAAsB;AAAA,QAC5B;AAAA,QACA;AAAA,QACA;AAAA,MAAA,CACA;AAAA,IACF,CAAC,EACA,OAAO,SAAS;AAAA,EACnB,CAAC;AACH;"}
|
|
1
|
+
{"version":3,"file":"diffUtils.js","sources":["../../../../../../packages/schema-migrations/src/modifications/utils/diffUtils.ts"],"sourcesContent":["import { Model, Schema } from '@contember/schema'\nimport { Migration } from '../../Migration.js'\nimport { isColumn, isRelation } from '@contember/schema-utils'\nimport { isDefined } from '../../utils/isDefined.js'\nimport deepEqual from 'fast-deep-equal'\n\nexport const updateFields = <Data = { [field: string]: any }>(\n\toriginalSchema: Schema,\n\tupdatedSchema: Schema,\n\tmodificationGenerator: (args: {\n\t\toriginalEntity: Model.Entity\n\t\tupdatedEntity: Model.Entity\n\t\toriginalField: Model.AnyField\n\t\tupdatedField: Model.AnyField\n\t}) => Migration.Modification<Data> | Migration.Modification<Data>[] | undefined,\n): Migration.Modification<Data>[] => {\n\treturn Object.values(updatedSchema.model.entities)\n\t\t.filter(({ name }) => originalSchema.model.entities[name])\n\t\t.flatMap(updatedEntity => {\n\t\t\tconst originalEntity = originalSchema.model.entities[updatedEntity.name]\n\n\t\t\treturn Object.values(updatedEntity.fields)\n\t\t\t\t.flatMap(updatedField => {\n\t\t\t\t\tconst originalField = originalEntity.fields[updatedField.name]\n\t\t\t\t\tif (!originalField) {\n\t\t\t\t\t\treturn undefined\n\t\t\t\t\t}\n\t\t\t\t\tif (deepEqual(originalField, updatedField)) {\n\t\t\t\t\t\treturn undefined\n\t\t\t\t\t}\n\t\t\t\t\tconst result = modificationGenerator({\n\t\t\t\t\t\toriginalEntity,\n\t\t\t\t\t\tupdatedEntity,\n\t\t\t\t\t\toriginalField,\n\t\t\t\t\t\tupdatedField,\n\t\t\t\t\t})\n\t\t\t\t\tif (result !== undefined && !Array.isArray(result)) {\n\t\t\t\t\t\treturn [result]\n\t\t\t\t\t}\n\t\t\t\t\treturn result\n\t\t\t\t})\n\t\t\t\t.filter(isDefined)\n\t\t})\n}\n\nexport const updateColumns = <Data = { [field: string]: any }>(\n\toriginalSchema: Schema,\n\tupdatedSchema: Schema,\n\tmodificationGenerator: (args: {\n\t\toriginalEntity: Model.Entity\n\t\toriginalColumn: Model.AnyColumn\n\t\tupdatedEntity: Model.Entity\n\t\tupdatedColumn: Model.AnyColumn\n\t}) => Migration.Modification<Data> | undefined,\n): Migration.Modification<Data>[] => {\n\treturn updateFields(\n\t\toriginalSchema,\n\t\tupdatedSchema,\n\t\t({ updatedEntity, originalEntity, originalField, updatedField }) => {\n\t\t\tif (!isColumn(updatedField) || !isColumn(originalField)) {\n\t\t\t\treturn undefined\n\t\t\t}\n\t\t\treturn modificationGenerator({\n\t\t\t\toriginalEntity,\n\t\t\t\tupdatedEntity,\n\t\t\t\toriginalColumn: originalField,\n\t\t\t\tupdatedColumn: updatedField,\n\t\t\t})\n\t\t},\n\t)\n}\n\nexport const updateRelations = <Data = { [field: string]: any }>(\n\toriginalSchema: Schema,\n\tupdatedSchema: Schema,\n\tmodificationGenerator: (args: {\n\t\toriginalEntity: Model.Entity\n\t\toriginalRelation: Model.AnyRelation\n\t\tupdatedEntity: Model.Entity\n\t\tupdatedRelation: Model.AnyRelation\n\t}) => Migration.Modification<Data> | undefined,\n): Migration.Modification<Data>[] => {\n\treturn updateFields(\n\t\toriginalSchema,\n\t\tupdatedSchema,\n\t\t({ updatedEntity, originalEntity, originalField, updatedField }) => {\n\t\t\tif (!isRelation(updatedField) || !isRelation(originalField)) {\n\t\t\t\treturn undefined\n\t\t\t}\n\t\t\treturn modificationGenerator({\n\t\t\t\toriginalEntity,\n\t\t\t\tupdatedEntity,\n\t\t\t\toriginalRelation: originalField,\n\t\t\t\tupdatedRelation: updatedField,\n\t\t\t})\n\t\t},\n\t)\n}\n\nexport const createFields = <Data = { [field: string]: any }>(\n\toriginalSchema: Schema,\n\tupdatedSchema: Schema,\n\tmodificationGenerator: (args: {\n\t\toriginalEntity: Model.Entity\n\t\tupdatedEntity: Model.Entity\n\t\tnewField: Model.AnyField\n\t}) => Migration.Modification<Data> | undefined,\n): Migration.Modification<Data>[] => {\n\treturn Object.values(updatedSchema.model.entities)\n\t\t.filter(({ name }) => originalSchema.model.entities[name])\n\t\t.flatMap(updatedEntity => {\n\t\t\tconst originalEntity = originalSchema.model.entities[updatedEntity.name]\n\n\t\t\treturn Object.values(updatedEntity.fields)\n\t\t\t\t.filter(it => !originalEntity.fields[it.name])\n\t\t\t\t.map(newField => {\n\t\t\t\t\treturn modificationGenerator({\n\t\t\t\t\t\tnewField,\n\t\t\t\t\t\tupdatedEntity,\n\t\t\t\t\t\toriginalEntity,\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t\t.filter(isDefined)\n\t\t})\n}\n"],"names":[],"mappings":";;;AAMO,MAAM,eAAe,CAC3B,gBACA,eACA,0BAMoC;AACpC,SAAO,OAAO,OAAO,cAAc,MAAM,QAAQ,EAC/C,OAAO,CAAC,EAAE,KAAA,MAAW,eAAe,MAAM,SAAS,IAAI,CAAC,EACxD,QAAQ,CAAA,kBAAiB;AACzB,UAAM,iBAAiB,eAAe,MAAM,SAAS,cAAc,IAAI;AAEvE,WAAO,OAAO,OAAO,cAAc,MAAM,EACvC,QAAQ,CAAA,iBAAgB;AACxB,YAAM,gBAAgB,eAAe,OAAO,aAAa,IAAI;AAC7D,UAAI,CAAC,eAAe;AACnB,eAAO;AAAA,MACR;AACA,UAAI,UAAU,eAAe,YAAY,GAAG;AAC3C,eAAO;AAAA,MACR;AACA,YAAM,SAAS,sBAAsB;AAAA,QACpC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA,CACA;AACD,UAAI,WAAW,UAAa,CAAC,MAAM,QAAQ,MAAM,GAAG;AACnD,eAAO,CAAC,MAAM;AAAA,MACf;AACA,aAAO;AAAA,IACR,CAAC,EACA,OAAO,SAAS;AAAA,EACnB,CAAC;AACH;AAEO,MAAM,gBAAgB,CAC5B,gBACA,eACA,0BAMoC;AACpC,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA,CAAC,EAAE,eAAe,gBAAgB,eAAe,mBAAmB;AACnE,UAAI,CAAC,SAAS,YAAY,KAAK,CAAC,SAAS,aAAa,GAAG;AACxD,eAAO;AAAA,MACR;AACA,aAAO,sBAAsB;AAAA,QAC5B;AAAA,QACA;AAAA,QACA,gBAAgB;AAAA,QAChB,eAAe;AAAA,MAAA,CACf;AAAA,IACF;AAAA,EAAA;AAEF;AAEO,MAAM,kBAAkB,CAC9B,gBACA,eACA,0BAMoC;AACpC,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA,CAAC,EAAE,eAAe,gBAAgB,eAAe,mBAAmB;AACnE,UAAI,CAAC,WAAW,YAAY,KAAK,CAAC,WAAW,aAAa,GAAG;AAC5D,eAAO;AAAA,MACR;AACA,aAAO,sBAAsB;AAAA,QAC5B;AAAA,QACA;AAAA,QACA,kBAAkB;AAAA,QAClB,iBAAiB;AAAA,MAAA,CACjB;AAAA,IACF;AAAA,EAAA;AAEF;AAEO,MAAM,eAAe,CAC3B,gBACA,eACA,0BAKoC;AACpC,SAAO,OAAO,OAAO,cAAc,MAAM,QAAQ,EAC/C,OAAO,CAAC,EAAE,KAAA,MAAW,eAAe,MAAM,SAAS,IAAI,CAAC,EACxD,QAAQ,CAAA,kBAAiB;AACzB,UAAM,iBAAiB,eAAe,MAAM,SAAS,cAAc,IAAI;AAEvE,WAAO,OAAO,OAAO,cAAc,MAAM,EACvC,OAAO,CAAA,OAAM,CAAC,eAAe,OAAO,GAAG,IAAI,CAAC,EAC5C,IAAI,CAAA,aAAY;AAChB,aAAO,sBAAsB;AAAA,QAC5B;AAAA,QACA;AAAA,QACA;AAAA,MAAA,CACA;AAAA,IACF,CAAC,EACA,OAAO,SAAS;AAAA,EACnB,CAAC;AACH;"}
|