@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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@contember/schema-migrations",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0-alpha.2",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"main": "./dist/production/index.js",
|
|
6
6
|
"typings": "./dist/types/index.d.ts",
|
|
@@ -23,16 +23,16 @@
|
|
|
23
23
|
}
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@contember/database": "2.1.0-beta.
|
|
27
|
-
"@contember/database-migrations": "2.1.0-beta.
|
|
28
|
-
"@contember/engine-common": "2.1.0-beta.
|
|
29
|
-
"@contember/schema": "2.1.0-beta.
|
|
30
|
-
"@contember/schema-utils": "2.1.0-beta.
|
|
26
|
+
"@contember/database": "2.1.0-beta.2",
|
|
27
|
+
"@contember/database-migrations": "2.1.0-beta.2",
|
|
28
|
+
"@contember/engine-common": "2.1.0-beta.2",
|
|
29
|
+
"@contember/schema": "2.1.0-beta.2",
|
|
30
|
+
"@contember/schema-utils": "2.1.0-beta.2",
|
|
31
31
|
"fast-deep-equal": "^3.1.3",
|
|
32
32
|
"rfc6902": "^5.2.0"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
|
-
"@contember/schema-definition": "2.1.0-beta.
|
|
35
|
+
"@contember/schema-definition": "2.1.0-beta.2"
|
|
36
36
|
},
|
|
37
37
|
"peerDependencies": {
|
|
38
38
|
"pg": "^8.20.0"
|
|
@@ -9,9 +9,9 @@ import {
|
|
|
9
9
|
ModificationHandlerFactory,
|
|
10
10
|
ModificationHandlerOptions,
|
|
11
11
|
SchemaUpdateError,
|
|
12
|
-
} from './modifications'
|
|
12
|
+
} from './modifications/index.js'
|
|
13
13
|
import { createMigrationBuilder } from '@contember/database-migrations'
|
|
14
|
-
import { Migration } from './Migration'
|
|
14
|
+
import { Migration } from './Migration.js'
|
|
15
15
|
import { Schema } from '@contember/schema'
|
|
16
16
|
|
|
17
17
|
export interface ModificationDescriptionResult {
|
package/src/SchemaDiffer.ts
CHANGED
|
@@ -8,9 +8,9 @@ import {
|
|
|
8
8
|
SchemaValidator,
|
|
9
9
|
ValidationError,
|
|
10
10
|
} from '@contember/schema-utils'
|
|
11
|
-
import { SchemaMigrator } from './SchemaMigrator'
|
|
12
|
-
import { Migration } from './Migration'
|
|
13
|
-
import { ImplementationException } from './exceptions'
|
|
11
|
+
import { SchemaMigrator } from './SchemaMigrator.js'
|
|
12
|
+
import { Migration } from './Migration.js'
|
|
13
|
+
import { ImplementationException } from './exceptions.js'
|
|
14
14
|
import {
|
|
15
15
|
ConvertOneHasManyToManyHasManyRelationDiffer,
|
|
16
16
|
ConvertOneToManyRelationDiffer,
|
|
@@ -42,18 +42,29 @@ import {
|
|
|
42
42
|
UpdateRelationOrderByDiffer,
|
|
43
43
|
UpdateValidationSchemaDiffer,
|
|
44
44
|
VERSION_LATEST,
|
|
45
|
-
} from './modifications'
|
|
46
|
-
import { RemoveChangedFieldDiffer, RemoveViewDiffer } from './modifications/differs'
|
|
47
|
-
import { CreateIndexDiffer, RemoveIndexDiffer } from './modifications/indexes'
|
|
48
|
-
import { CreateTriggerDiffer, RemoveTriggerDiffer, UpdateTriggerDiffer } from './modifications/actions'
|
|
49
|
-
import { UpdateTargetDiffer } from './modifications/actions/UpdateTargetModification'
|
|
50
|
-
import { CreateTargetDiffer } from './modifications/actions/CreateTargetModification'
|
|
51
|
-
import { RemoveTargetDiffer } from './modifications/actions/RemoveTargetModification'
|
|
52
|
-
import { UpdateSettingsDiffer } from './modifications/settings'
|
|
53
|
-
import { RemoveIndexNamesDiffer } from './modifications/upgrade/RemoveIndexNamesModification'
|
|
54
|
-
import { ConvertOneHasManyToOneHasOneRelationDiffer } from './modifications/relations/ConvertOneHasManyToOneHasOneRelationModification'
|
|
45
|
+
} from './modifications/index.js'
|
|
46
|
+
import { RemoveChangedFieldDiffer, RemoveViewDiffer, UpdateViewDiffer } from './modifications/differs/index.js'
|
|
47
|
+
import { CreateIndexDiffer, RemoveIndexDiffer } from './modifications/indexes/index.js'
|
|
48
|
+
import { CreateTriggerDiffer, RemoveTriggerDiffer, UpdateTriggerDiffer } from './modifications/actions/index.js'
|
|
49
|
+
import { UpdateTargetDiffer } from './modifications/actions/UpdateTargetModification.js'
|
|
50
|
+
import { CreateTargetDiffer } from './modifications/actions/CreateTargetModification.js'
|
|
51
|
+
import { RemoveTargetDiffer } from './modifications/actions/RemoveTargetModification.js'
|
|
52
|
+
import { UpdateSettingsDiffer } from './modifications/settings/index.js'
|
|
53
|
+
import { RemoveIndexNamesDiffer } from './modifications/upgrade/RemoveIndexNamesModification.js'
|
|
54
|
+
import { ConvertOneHasManyToOneHasOneRelationDiffer } from './modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.js'
|
|
55
55
|
|
|
56
|
-
type DiffOptions = {
|
|
56
|
+
export type DiffOptions = {
|
|
57
|
+
skipRecreateValidation?: boolean
|
|
58
|
+
skipInitialSchemaValidation?: boolean
|
|
59
|
+
skipNonModelDiffers?: boolean
|
|
60
|
+
/**
|
|
61
|
+
* Disable the in-place `CREATE OR REPLACE VIEW` optimization and drop & recreate every
|
|
62
|
+
* changed view (with its dependant cascade) instead. Escape hatch for views whose real
|
|
63
|
+
* output columns drifted without a matching field change (which would otherwise fail at
|
|
64
|
+
* execute time with `SQLSTATE 42P16`).
|
|
65
|
+
*/
|
|
66
|
+
recreateViews?: boolean
|
|
67
|
+
}
|
|
57
68
|
|
|
58
69
|
export class SchemaDiffer {
|
|
59
70
|
constructor(
|
|
@@ -66,6 +77,8 @@ export class SchemaDiffer {
|
|
|
66
77
|
diffSchemas(originalSchema: Schema, updatedSchema: Schema, {
|
|
67
78
|
skipInitialSchemaValidation = false,
|
|
68
79
|
skipRecreateValidation = false,
|
|
80
|
+
skipNonModelDiffers = false,
|
|
81
|
+
recreateViews = false,
|
|
69
82
|
}: DiffOptions = {}): Migration.Modification[] {
|
|
70
83
|
if (!skipInitialSchemaValidation) {
|
|
71
84
|
const originalErrors = SchemaValidator.validate(originalSchema)
|
|
@@ -80,13 +93,13 @@ export class SchemaDiffer {
|
|
|
80
93
|
|
|
81
94
|
const differs: Differ[] = [
|
|
82
95
|
new RemoveIndexNamesDiffer(),
|
|
83
|
-
new UpdateSettingsDiffer(),
|
|
96
|
+
...skipNonModelDiffers ? [] : [new UpdateSettingsDiffer()],
|
|
84
97
|
new ConvertOneToManyRelationDiffer(),
|
|
85
98
|
new ConvertOneHasManyToManyHasManyRelationDiffer(),
|
|
86
99
|
new ConvertOneHasManyToOneHasOneRelationDiffer(),
|
|
87
100
|
new RemoveUniqueConstraintDiffer(),
|
|
88
101
|
new RemoveIndexDiffer(),
|
|
89
|
-
new RemoveViewDiffer(),
|
|
102
|
+
new RemoveViewDiffer(recreateViews),
|
|
90
103
|
new RemoveEntityDiffer(),
|
|
91
104
|
new RemoveFieldDiffer(),
|
|
92
105
|
new CreateEnumDiffer(),
|
|
@@ -108,19 +121,24 @@ export class SchemaDiffer {
|
|
|
108
121
|
new CreateColumnDiffer(),
|
|
109
122
|
new CreateRelationDiffer(),
|
|
110
123
|
new CreateViewDiffer(),
|
|
124
|
+
...recreateViews ? [] : [new UpdateViewDiffer()],
|
|
111
125
|
new CreateRelationInverseSideDiffer(),
|
|
112
126
|
new CreateUniqueConstraintDiffer(),
|
|
113
127
|
new CreateIndexDiffer(),
|
|
114
128
|
new RemoveEnumDiffer(),
|
|
115
|
-
|
|
116
|
-
|
|
129
|
+
...skipNonModelDiffers ? [] : [
|
|
130
|
+
new UpdateAclSchemaDiffer(this.options),
|
|
131
|
+
new UpdateValidationSchemaDiffer(this.options),
|
|
132
|
+
],
|
|
117
133
|
new UpdateEntityOrderByDiffer(),
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
134
|
+
...skipNonModelDiffers ? [] : [
|
|
135
|
+
new UpdateTargetDiffer(),
|
|
136
|
+
new CreateTargetDiffer(),
|
|
137
|
+
new UpdateTriggerDiffer(this.options),
|
|
138
|
+
new CreateTriggerDiffer(),
|
|
139
|
+
new RemoveTriggerDiffer(),
|
|
140
|
+
new RemoveTargetDiffer(),
|
|
141
|
+
],
|
|
124
142
|
]
|
|
125
143
|
|
|
126
144
|
const diffs: Migration.Modification[] = []
|
|
@@ -132,7 +150,16 @@ export class SchemaDiffer {
|
|
|
132
150
|
}
|
|
133
151
|
|
|
134
152
|
if (!skipRecreateValidation) {
|
|
135
|
-
const
|
|
153
|
+
const targetForCompare = skipNonModelDiffers
|
|
154
|
+
? {
|
|
155
|
+
...updatedSchema,
|
|
156
|
+
acl: appliedDiffsSchema.acl,
|
|
157
|
+
validation: appliedDiffsSchema.validation,
|
|
158
|
+
actions: appliedDiffsSchema.actions,
|
|
159
|
+
settings: appliedDiffsSchema.settings,
|
|
160
|
+
}
|
|
161
|
+
: updatedSchema
|
|
162
|
+
const errors = deepCompare(targetForCompare, appliedDiffsSchema, [], path => {
|
|
136
163
|
if (path[0] === 'model' && path[1] === 'entities' && (path[3] === 'unique' || path[3] === 'index')) {
|
|
137
164
|
return (a, b) => {
|
|
138
165
|
return compareArraysIgnoreOrder(a, b, path)
|
package/src/SchemaMigrator.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Schema } from '@contember/schema'
|
|
2
|
-
import { ModificationHandlerFactory } from './modifications'
|
|
3
|
-
import { Migration } from './Migration'
|
|
2
|
+
import { ModificationHandlerFactory } from './modifications/index.js'
|
|
3
|
+
import { Migration } from './Migration.js'
|
|
4
4
|
|
|
5
5
|
export class SchemaMigrator {
|
|
6
6
|
constructor(private readonly modificationHandlerFactory: ModificationHandlerFactory) {}
|
package/src/index.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export * from './SchemaDiffer'
|
|
2
|
-
export * from './Migration'
|
|
3
|
-
export * from './SchemaMigrator'
|
|
4
|
-
export * from './SchemaDiffer'
|
|
5
|
-
export * from './MigrationDescriber'
|
|
6
|
-
export * from './modifications'
|
|
1
|
+
export * from './SchemaDiffer.js'
|
|
2
|
+
export * from './Migration.js'
|
|
3
|
+
export * from './SchemaMigrator.js'
|
|
4
|
+
export * from './SchemaDiffer.js'
|
|
5
|
+
export * from './MigrationDescriber.js'
|
|
6
|
+
export * from './modifications/index.js'
|
|
7
7
|
export { MigrationVersionHelper } from '@contember/engine-common'
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { MigrationBuilder } from '@contember/database-migrations'
|
|
2
|
-
import { SchemaUpdater } from './utils/schemaUpdateUtils'
|
|
2
|
+
import { SchemaUpdater } from './utils/schemaUpdateUtils.js'
|
|
3
3
|
import { Schema } from '@contember/schema'
|
|
4
|
-
import { Migration } from '../Migration'
|
|
4
|
+
import { Migration } from '../Migration.js'
|
|
5
5
|
import { DatabaseMetadata } from '@contember/database'
|
|
6
6
|
|
|
7
7
|
export interface ModificationDescription {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Schema } from '@contember/schema'
|
|
2
|
-
import { ModificationHandler, ModificationHandlerOptions, ModificationType } from './ModificationHandler'
|
|
3
|
-
import { patchAclSchemaModification, updateAclSchemaModification } from './acl'
|
|
4
|
-
import { createColumnModification, updateColumnDefinitionModification, updateColumnNameModification } from './columns'
|
|
5
|
-
import { createUniqueConstraintModification, removeUniqueConstraintModification } from './constraints'
|
|
2
|
+
import { ModificationHandler, ModificationHandlerOptions, ModificationType } from './ModificationHandler.js'
|
|
3
|
+
import { patchAclSchemaModification, updateAclSchemaModification } from './acl/index.js'
|
|
4
|
+
import { createColumnModification, updateColumnDefinitionModification, updateColumnNameModification } from './columns/index.js'
|
|
5
|
+
import { createUniqueConstraintModification, removeUniqueConstraintModification } from './constraints/index.js'
|
|
6
6
|
import {
|
|
7
7
|
createEntityModification,
|
|
8
8
|
createViewModification,
|
|
@@ -10,11 +10,12 @@ import {
|
|
|
10
10
|
toggleEventLogModification,
|
|
11
11
|
updateEntityNameModification,
|
|
12
12
|
updateEntityTableNameModification,
|
|
13
|
-
} from './entities'
|
|
14
|
-
import { updateViewModification } from './entities/UpdateViewModification'
|
|
15
|
-
import { createEnumModification, removeEnumModification, updateEnumModification } from './enums'
|
|
16
|
-
import { removeFieldModification, updateFieldNameModification } from './fields'
|
|
13
|
+
} from './entities/index.js'
|
|
14
|
+
import { updateViewModification } from './entities/UpdateViewModification.js'
|
|
15
|
+
import { createEnumModification, removeEnumModification, updateEnumModification } from './enums/index.js'
|
|
16
|
+
import { removeFieldModification, updateFieldNameModification } from './fields/index.js'
|
|
17
17
|
import {
|
|
18
|
+
convertManyHasManyToJoiningEntityModification,
|
|
18
19
|
convertOneHasManyToManyHasManyRelationModification,
|
|
19
20
|
convertOneToManyRelationModification,
|
|
20
21
|
createRelationInverseSideModification,
|
|
@@ -26,17 +27,17 @@ import {
|
|
|
26
27
|
toggleJunctionEventLogModification,
|
|
27
28
|
updateRelationOnDeleteModification,
|
|
28
29
|
updateRelationOrderByModification,
|
|
29
|
-
} from './relations'
|
|
30
|
-
import { patchValidationSchemaModification, updateValidationSchemaModification } from './validation'
|
|
31
|
-
import { createIndexModification, removeIndexModification } from './indexes'
|
|
32
|
-
import { updateSettingsModification } from './settings'
|
|
33
|
-
import { createTriggerModification, patchTriggerModification, removeTriggerModification, updateTriggerModification } from './actions'
|
|
34
|
-
import { createTargetModification } from './actions/CreateTargetModification'
|
|
35
|
-
import { removeTargetModification } from './actions/RemoveTargetModification'
|
|
36
|
-
import { updateTargetModification } from './actions/UpdateTargetModification'
|
|
37
|
-
import { updateEntityOrderByModification } from './entities/UpdateEntityOrderByModification'
|
|
38
|
-
import { removeIndexNamesModification } from './upgrade/RemoveIndexNamesModification'
|
|
39
|
-
import { convertOneHasManyToOneHasOneRelationModification } from './relations/ConvertOneHasManyToOneHasOneRelationModification'
|
|
30
|
+
} from './relations/index.js'
|
|
31
|
+
import { patchValidationSchemaModification, updateValidationSchemaModification } from './validation/index.js'
|
|
32
|
+
import { createIndexModification, removeIndexModification } from './indexes/index.js'
|
|
33
|
+
import { updateSettingsModification } from './settings/index.js'
|
|
34
|
+
import { createTriggerModification, patchTriggerModification, removeTriggerModification, updateTriggerModification } from './actions/index.js'
|
|
35
|
+
import { createTargetModification } from './actions/CreateTargetModification.js'
|
|
36
|
+
import { removeTargetModification } from './actions/RemoveTargetModification.js'
|
|
37
|
+
import { updateTargetModification } from './actions/UpdateTargetModification.js'
|
|
38
|
+
import { updateEntityOrderByModification } from './entities/UpdateEntityOrderByModification.js'
|
|
39
|
+
import { removeIndexNamesModification } from './upgrade/RemoveIndexNamesModification.js'
|
|
40
|
+
import { convertOneHasManyToOneHasOneRelationModification } from './relations/ConvertOneHasManyToOneHasOneRelationModification.js'
|
|
40
41
|
|
|
41
42
|
class ModificationHandlerFactory {
|
|
42
43
|
constructor(private readonly map: Record<string, ModificationType<string, any>>) {}
|
|
@@ -90,6 +91,7 @@ namespace ModificationHandlerFactory {
|
|
|
90
91
|
toggleEventLogModification,
|
|
91
92
|
toggleJunctionEventLogModification,
|
|
92
93
|
convertOneHasManyToManyHasManyRelationModification,
|
|
94
|
+
convertManyHasManyToJoiningEntityModification,
|
|
93
95
|
updateEntityOrderByModification,
|
|
94
96
|
createTriggerModification,
|
|
95
97
|
updateTriggerModification,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ModificationHandler } from './ModificationHandler'
|
|
1
|
+
import { ModificationHandler } from './ModificationHandler.js'
|
|
2
2
|
import { MigrationBuilder } from '@contember/database-migrations'
|
|
3
|
-
import { SchemaUpdater } from './utils/schemaUpdateUtils'
|
|
3
|
+
import { SchemaUpdater } from './utils/schemaUpdateUtils.js'
|
|
4
4
|
|
|
5
5
|
export class NoopModification implements ModificationHandler<{}> {
|
|
6
6
|
createSql(builder: MigrationBuilder): void | Promise<void> {}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { SchemaUpdater } from '../utils/schemaUpdateUtils'
|
|
2
|
-
import { createModificationType, ModificationHandler } from '../ModificationHandler'
|
|
1
|
+
import { SchemaUpdater } from '../utils/schemaUpdateUtils.js'
|
|
2
|
+
import { createModificationType, ModificationHandler } from '../ModificationHandler.js'
|
|
3
3
|
import { applyPatch, Operation } from 'rfc6902'
|
|
4
|
-
import deepCopy from '../../utils/deepCopy'
|
|
4
|
+
import deepCopy from '../../utils/deepCopy.js'
|
|
5
5
|
|
|
6
6
|
export class PatchAclSchemaModificationHandler implements ModificationHandler<PatchAclSchemaModificationData> {
|
|
7
7
|
constructor(private readonly data: PatchAclSchemaModificationData) {}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Acl, Schema } from '@contember/schema'
|
|
2
|
-
import { SchemaUpdater } from '../utils/schemaUpdateUtils'
|
|
3
|
-
import { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'
|
|
2
|
+
import { SchemaUpdater } from '../utils/schemaUpdateUtils.js'
|
|
3
|
+
import { createModificationType, Differ, ModificationHandler } from '../ModificationHandler.js'
|
|
4
4
|
import deepEqual from 'fast-deep-equal'
|
|
5
5
|
import { createPatch } from 'rfc6902'
|
|
6
|
-
import { patchAclSchemaModification } from './PatchAclSchemaModification'
|
|
6
|
+
import { patchAclSchemaModification } from './PatchAclSchemaModification.js'
|
|
7
7
|
|
|
8
8
|
export class UpdateAclSchemaModificationHandler implements ModificationHandler<UpdateAclSchemaModificationData> {
|
|
9
9
|
constructor(private readonly data: UpdateAclSchemaModificationData) {}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './PatchAclSchemaModification'
|
|
2
|
-
export * from './UpdateAclSchemaModification'
|
|
1
|
+
export * from './PatchAclSchemaModification.js'
|
|
2
|
+
export * from './UpdateAclSchemaModification.js'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Actions, Schema } from '@contember/schema'
|
|
2
|
-
import { SchemaUpdater } from '../utils/schemaUpdateUtils'
|
|
3
|
-
import { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'
|
|
2
|
+
import { SchemaUpdater } from '../utils/schemaUpdateUtils.js'
|
|
3
|
+
import { createModificationType, Differ, ModificationHandler } from '../ModificationHandler.js'
|
|
4
4
|
|
|
5
5
|
export class CreateTargetModificationHandler implements ModificationHandler<CreateTargetModificationData> {
|
|
6
6
|
constructor(private readonly data: CreateTargetModificationData) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Actions, Schema } from '@contember/schema'
|
|
2
|
-
import { SchemaUpdater } from '../utils/schemaUpdateUtils'
|
|
3
|
-
import { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'
|
|
2
|
+
import { SchemaUpdater } from '../utils/schemaUpdateUtils.js'
|
|
3
|
+
import { createModificationType, Differ, ModificationHandler } from '../ModificationHandler.js'
|
|
4
4
|
|
|
5
5
|
export class CreateTriggerModificationHandler implements ModificationHandler<CreateTriggerModificationData> {
|
|
6
6
|
constructor(private readonly data: CreateTriggerModificationData) {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Actions } from '@contember/schema'
|
|
2
|
-
import { SchemaUpdater } from '../utils/schemaUpdateUtils'
|
|
3
|
-
import { createModificationType, ModificationHandler } from '../ModificationHandler'
|
|
2
|
+
import { SchemaUpdater } from '../utils/schemaUpdateUtils.js'
|
|
3
|
+
import { createModificationType, ModificationHandler } from '../ModificationHandler.js'
|
|
4
4
|
import { applyPatch, Operation } from 'rfc6902'
|
|
5
|
-
import deepCopy from '../../utils/deepCopy'
|
|
5
|
+
import deepCopy from '../../utils/deepCopy.js'
|
|
6
6
|
|
|
7
7
|
export class PatchTriggerModificationHandler implements ModificationHandler<PatchTriggerModificationData> {
|
|
8
8
|
constructor(private readonly data: PatchTriggerModificationData) {}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Schema } from '@contember/schema'
|
|
2
|
-
import { SchemaUpdater } from '../utils/schemaUpdateUtils'
|
|
3
|
-
import { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'
|
|
2
|
+
import { SchemaUpdater } from '../utils/schemaUpdateUtils.js'
|
|
3
|
+
import { createModificationType, Differ, ModificationHandler } from '../ModificationHandler.js'
|
|
4
4
|
|
|
5
5
|
export class RemoveTargetModificationHandler implements ModificationHandler<RemoveTargetModificationData> {
|
|
6
6
|
constructor(private readonly data: RemoveTargetModificationData) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Schema } from '@contember/schema'
|
|
2
|
-
import { SchemaUpdater } from '../utils/schemaUpdateUtils'
|
|
3
|
-
import { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'
|
|
2
|
+
import { SchemaUpdater } from '../utils/schemaUpdateUtils.js'
|
|
3
|
+
import { createModificationType, Differ, ModificationHandler } from '../ModificationHandler.js'
|
|
4
4
|
|
|
5
5
|
export class RemoveTriggerModificationHandler implements ModificationHandler<RemoveTriggerModificationData> {
|
|
6
6
|
constructor(private readonly data: RemoveTriggerModificationData) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Actions, Schema } from '@contember/schema'
|
|
2
|
-
import { SchemaUpdater } from '../utils/schemaUpdateUtils'
|
|
3
|
-
import { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'
|
|
2
|
+
import { SchemaUpdater } from '../utils/schemaUpdateUtils.js'
|
|
3
|
+
import { createModificationType, Differ, ModificationHandler } from '../ModificationHandler.js'
|
|
4
4
|
import deepEqual from 'fast-deep-equal'
|
|
5
5
|
|
|
6
6
|
export class UpdateTargetModificationHandler implements ModificationHandler<UpdateTargetModificationData> {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Actions, Schema } from '@contember/schema'
|
|
2
|
-
import { SchemaUpdater } from '../utils/schemaUpdateUtils'
|
|
3
|
-
import { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'
|
|
2
|
+
import { SchemaUpdater } from '../utils/schemaUpdateUtils.js'
|
|
3
|
+
import { createModificationType, Differ, ModificationHandler } from '../ModificationHandler.js'
|
|
4
4
|
import deepEqual from 'fast-deep-equal'
|
|
5
5
|
import { createPatch } from 'rfc6902'
|
|
6
|
-
import { patchTriggerModification } from './PatchTriggerModification'
|
|
6
|
+
import { patchTriggerModification } from './PatchTriggerModification.js'
|
|
7
7
|
|
|
8
8
|
export class UpdateTriggerModificationHandler implements ModificationHandler<UpdateTriggerModificationData> {
|
|
9
9
|
constructor(private readonly data: UpdateTriggerModificationData) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from './CreateTriggerModification'
|
|
2
|
-
export * from './RemoveTriggerModification'
|
|
3
|
-
export * from './UpdateTriggerModification'
|
|
4
|
-
export * from './PatchTriggerModification'
|
|
1
|
+
export * from './CreateTriggerModification.js'
|
|
2
|
+
export * from './RemoveTriggerModification.js'
|
|
3
|
+
export * from './UpdateTriggerModification.js'
|
|
4
|
+
export * from './PatchTriggerModification.js'
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { MigrationBuilder } from '@contember/database-migrations'
|
|
2
2
|
import { JSONValue, Model, Schema } from '@contember/schema'
|
|
3
|
-
import { addField, SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'
|
|
4
|
-
import { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'
|
|
3
|
+
import { addField, SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils.js'
|
|
4
|
+
import { createModificationType, Differ, ModificationHandler } from '../ModificationHandler.js'
|
|
5
5
|
import { isColumn } from '@contember/schema-utils'
|
|
6
|
-
import { createFields } from '../utils/diffUtils'
|
|
7
|
-
import { getColumnSqlType } from '../utils/columnUtils'
|
|
8
|
-
import { fillSeed, formatSeedExpression } from './columnUtils'
|
|
6
|
+
import { createFields } from '../utils/diffUtils.js'
|
|
7
|
+
import { getColumnSqlType } from '../utils/columnUtils.js'
|
|
8
|
+
import { fillSeed, formatSeedExpression } from './columnUtils.js'
|
|
9
9
|
|
|
10
10
|
export class CreateColumnModificationHandler implements ModificationHandler<CreateColumnModificationData> {
|
|
11
11
|
constructor(private readonly data: CreateColumnModificationData, private readonly schema: Schema) {}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { escapeValue, MigrationBuilder } from '@contember/database-migrations'
|
|
2
2
|
import { JSONValue, Model, Schema } from '@contember/schema'
|
|
3
|
-
import { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils'
|
|
4
|
-
import { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'
|
|
3
|
+
import { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils.js'
|
|
4
|
+
import { createModificationType, Differ, ModificationHandler } from '../ModificationHandler.js'
|
|
5
5
|
import deepEqual from 'fast-deep-equal'
|
|
6
|
-
import { updateColumns } from '../utils/diffUtils'
|
|
7
|
-
import { wrapIdentifier } from '../../utils/dbHelpers'
|
|
8
|
-
import { getColumnSqlType } from '../utils/columnUtils'
|
|
9
|
-
import { fillSeed, formatSeedExpression } from './columnUtils'
|
|
6
|
+
import { updateColumns } from '../utils/diffUtils.js'
|
|
7
|
+
import { wrapIdentifier } from '../../utils/dbHelpers.js'
|
|
8
|
+
import { getColumnSqlType } from '../utils/columnUtils.js'
|
|
9
|
+
import { fillSeed, formatSeedExpression } from './columnUtils.js'
|
|
10
10
|
|
|
11
11
|
export class UpdateColumnDefinitionModificationHandler implements ModificationHandler<UpdateColumnDefinitionModificationData> {
|
|
12
12
|
constructor(private readonly data: UpdateColumnDefinitionModificationData, private readonly schema: Schema) {}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { MigrationBuilder } from '@contember/database-migrations'
|
|
2
2
|
import { Model, Schema } from '@contember/schema'
|
|
3
|
-
import { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils'
|
|
4
|
-
import { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'
|
|
5
|
-
import { updateColumns } from '../utils/diffUtils'
|
|
3
|
+
import { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils.js'
|
|
4
|
+
import { createModificationType, Differ, ModificationHandler } from '../ModificationHandler.js'
|
|
5
|
+
import { updateColumns } from '../utils/diffUtils.js'
|
|
6
6
|
import { acceptFieldVisitor } from '@contember/schema-utils'
|
|
7
7
|
|
|
8
8
|
export class UpdateColumnNameModificationHandler implements ModificationHandler<UpdateColumnNameModificationData> {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { wrapIdentifier } from '../../utils/dbHelpers'
|
|
1
|
+
import { wrapIdentifier } from '../../utils/dbHelpers.js'
|
|
2
2
|
import { JSONValue, Model } from '@contember/schema'
|
|
3
3
|
import { escapeValue, MigrationBuilder } from '@contember/database-migrations'
|
|
4
4
|
import { getColumnName } from '@contember/schema-utils'
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './CreateColumnModification'
|
|
2
|
-
export * from './UpdateColumnDefinitionModification'
|
|
3
|
-
export * from './UpdateColumnNameModification'
|
|
1
|
+
export * from './CreateColumnModification.js'
|
|
2
|
+
export * from './UpdateColumnDefinitionModification.js'
|
|
3
|
+
export * from './UpdateColumnNameModification.js'
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { MigrationBuilder } from '@contember/database-migrations'
|
|
2
2
|
import { Model, Schema } from '@contember/schema'
|
|
3
|
-
import { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'
|
|
4
|
-
import { createModificationType, Differ, ModificationHandler, ModificationHandlerCreateSqlOptions } from '../ModificationHandler'
|
|
5
|
-
import { wrapIdentifier } from '../../utils/dbHelpers'
|
|
6
|
-
import { getUniqueConstraintColumns } from './utils'
|
|
3
|
+
import { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils.js'
|
|
4
|
+
import { createModificationType, Differ, ModificationHandler, ModificationHandlerCreateSqlOptions } from '../ModificationHandler.js'
|
|
5
|
+
import { wrapIdentifier } from '../../utils/dbHelpers.js'
|
|
6
|
+
import { getUniqueConstraintColumns } from './utils.js'
|
|
7
7
|
import deepEqual from 'fast-deep-equal'
|
|
8
8
|
|
|
9
9
|
export class CreateUniqueConstraintModificationHandler implements ModificationHandler<CreateUniqueConstraintModificationData> {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { MigrationBuilder } from '@contember/database-migrations'
|
|
2
2
|
import { Model, Schema } from '@contember/schema'
|
|
3
|
-
import { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'
|
|
4
|
-
import { createModificationType, Differ, ModificationHandler, ModificationHandlerCreateSqlOptions } from '../ModificationHandler'
|
|
3
|
+
import { SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils.js'
|
|
4
|
+
import { createModificationType, Differ, ModificationHandler, ModificationHandlerCreateSqlOptions } from '../ModificationHandler.js'
|
|
5
5
|
import deepEqual from 'fast-deep-equal'
|
|
6
|
-
import { getUniqueConstraintColumns } from './utils'
|
|
7
|
-
import { wrapIdentifier } from '../../utils/dbHelpers'
|
|
6
|
+
import { getUniqueConstraintColumns } from './utils.js'
|
|
7
|
+
import { wrapIdentifier } from '../../utils/dbHelpers.js'
|
|
8
8
|
|
|
9
9
|
export class RemoveUniqueConstraintModificationHandler implements ModificationHandler<RemoveUniqueConstraintModificationData> {
|
|
10
10
|
constructor(private readonly data: RemoveUniqueConstraintModificationData, private readonly schema: Schema) {
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './CreateUniqueConstraintModification'
|
|
2
|
-
export * from './RemoveUniqueConstraintModification'
|
|
3
|
-
export * from './utils'
|
|
1
|
+
export * from './CreateUniqueConstraintModification.js'
|
|
2
|
+
export * from './RemoveUniqueConstraintModification.js'
|
|
3
|
+
export * from './utils.js'
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Differ } from '../ModificationHandler'
|
|
1
|
+
import { Differ } from '../ModificationHandler.js'
|
|
2
2
|
import { Model, Schema } from '@contember/schema'
|
|
3
|
-
import { updateFields } from '../utils/diffUtils'
|
|
3
|
+
import { updateFields } from '../utils/diffUtils.js'
|
|
4
4
|
import deepEqual from 'fast-deep-equal'
|
|
5
|
-
import { removeFieldModification } from '../fields'
|
|
5
|
+
import { removeFieldModification } from '../fields/index.js'
|
|
6
6
|
|
|
7
7
|
export class RemoveChangedFieldDiffer implements Differ {
|
|
8
8
|
constructor(
|
|
@@ -1,13 +1,24 @@
|
|
|
1
|
-
import { Differ } from '../ModificationHandler'
|
|
1
|
+
import { Differ } from '../ModificationHandler.js'
|
|
2
2
|
import { Schema } from '@contember/schema'
|
|
3
3
|
import deepEqual from 'fast-deep-equal'
|
|
4
|
-
import { cascadeRemoveDependantViews } from '../utils/viewDependencies'
|
|
5
|
-
import { UpdateColumnDefinitionDiffer } from '../columns'
|
|
4
|
+
import { cascadeRemoveDependantViews, isReplaceableViewChange } from '../utils/viewDependencies.js'
|
|
5
|
+
import { UpdateColumnDefinitionDiffer } from '../columns/index.js'
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
-
* Remove
|
|
8
|
+
* Remove views that were removed or changed in a way that requires a drop & recreate.
|
|
9
|
+
*
|
|
10
|
+
* View changes that can be applied in-place via `CREATE OR REPLACE VIEW` (see
|
|
11
|
+
* {@link isReplaceableViewChange}) are intentionally skipped here so they don't trigger
|
|
12
|
+
* the drop cascade onto dependant views – those are handled by `UpdateViewDiffer`.
|
|
13
|
+
*
|
|
14
|
+
* When `recreateAllViews` is set, the in-place optimization is disabled and every changed
|
|
15
|
+
* view drops & recreates (with its dependant cascade) as before. This is the escape hatch
|
|
16
|
+
* for the rare case where a view's actual output columns drifted without a matching field
|
|
17
|
+
* change, which `CREATE OR REPLACE VIEW` would reject at execute time (`SQLSTATE 42P16`).
|
|
9
18
|
*/
|
|
10
19
|
export class RemoveViewDiffer implements Differ {
|
|
20
|
+
constructor(private readonly recreateAllViews: boolean = false) {}
|
|
21
|
+
|
|
11
22
|
createDiff(originalSchema: Schema, updatedSchema: Schema) {
|
|
12
23
|
const changedOrRemovedViews = Object.values(originalSchema.model.entities)
|
|
13
24
|
.filter(it => {
|
|
@@ -30,7 +41,8 @@ export class RemoveViewDiffer implements Differ {
|
|
|
30
41
|
}
|
|
31
42
|
|
|
32
43
|
if (!deepEqual(updatedEntity.view, it.view)) {
|
|
33
|
-
|
|
44
|
+
// view changed – cascade only when it cannot be replaced in-place
|
|
45
|
+
return this.recreateAllViews || !isReplaceableViewChange(it, updatedEntity)
|
|
34
46
|
}
|
|
35
47
|
|
|
36
48
|
return false
|