@contember/schema-migrations 2.0.0-alpha.31 → 2.0.0-alpha.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/development/src/MigrationDescriber.cjs.map +1 -1
- package/dist/development/src/MigrationDescriber.js.map +1 -1
- package/dist/development/src/SchemaDiffer.cjs.map +1 -1
- package/dist/development/src/SchemaDiffer.js.map +1 -1
- package/dist/development/src/SchemaMigrator.cjs.map +1 -1
- package/dist/development/src/SchemaMigrator.js.map +1 -1
- package/dist/development/src/modifications/ModificationHandler.cjs.map +1 -1
- package/dist/development/src/modifications/ModificationHandler.js.map +1 -1
- package/dist/development/src/modifications/ModificationHandlerFactory.cjs.map +1 -1
- package/dist/development/src/modifications/ModificationHandlerFactory.js.map +1 -1
- package/dist/development/src/modifications/NoopModification.cjs.map +1 -1
- package/dist/development/src/modifications/NoopModification.js.map +1 -1
- package/dist/development/src/modifications/acl/PatchAclSchemaModification.cjs.map +1 -1
- package/dist/development/src/modifications/acl/PatchAclSchemaModification.js.map +1 -1
- package/dist/development/src/modifications/acl/UpdateAclSchemaModification.cjs.map +1 -1
- package/dist/development/src/modifications/acl/UpdateAclSchemaModification.js.map +1 -1
- package/dist/development/src/modifications/actions/CreateTargetModification.cjs.map +1 -1
- package/dist/development/src/modifications/actions/CreateTargetModification.js.map +1 -1
- package/dist/development/src/modifications/actions/CreateTriggerModification.cjs.map +1 -1
- package/dist/development/src/modifications/actions/CreateTriggerModification.js.map +1 -1
- package/dist/development/src/modifications/actions/RemoveTargetModification.cjs.map +1 -1
- package/dist/development/src/modifications/actions/RemoveTargetModification.js.map +1 -1
- package/dist/development/src/modifications/actions/RemoveTriggerModification.cjs.map +1 -1
- package/dist/development/src/modifications/actions/RemoveTriggerModification.js.map +1 -1
- package/dist/development/src/modifications/actions/UpdateTargetModification.cjs.map +1 -1
- package/dist/development/src/modifications/actions/UpdateTargetModification.js.map +1 -1
- package/dist/development/src/modifications/actions/UpdateTriggerModification.cjs.map +1 -1
- package/dist/development/src/modifications/actions/UpdateTriggerModification.js.map +1 -1
- package/dist/development/src/modifications/columns/CreateColumnModification.cjs.map +1 -1
- package/dist/development/src/modifications/columns/CreateColumnModification.js.map +1 -1
- package/dist/development/src/modifications/columns/UpdateColumnDefinitionModification.cjs.map +1 -1
- package/dist/development/src/modifications/columns/UpdateColumnDefinitionModification.js.map +1 -1
- package/dist/development/src/modifications/columns/UpdateColumnNameModification.cjs.map +1 -1
- package/dist/development/src/modifications/columns/UpdateColumnNameModification.js.map +1 -1
- package/dist/development/src/modifications/columns/columnUtils.cjs.map +1 -1
- package/dist/development/src/modifications/columns/columnUtils.js.map +1 -1
- package/dist/development/src/modifications/constraints/CreateUniqueConstraintModification.cjs.map +1 -1
- package/dist/development/src/modifications/constraints/CreateUniqueConstraintModification.js.map +1 -1
- package/dist/development/src/modifications/constraints/RemoveUniqueConstraintModification.cjs.map +1 -1
- package/dist/development/src/modifications/constraints/RemoveUniqueConstraintModification.js.map +1 -1
- package/dist/development/src/modifications/constraints/utils.cjs.map +1 -1
- package/dist/development/src/modifications/constraints/utils.js.map +1 -1
- package/dist/development/src/modifications/differs/RemoveChangedFieldDiffer.cjs.map +1 -1
- package/dist/development/src/modifications/differs/RemoveChangedFieldDiffer.js.map +1 -1
- package/dist/development/src/modifications/differs/RemoveViewDiffer.cjs.map +1 -1
- package/dist/development/src/modifications/differs/RemoveViewDiffer.js.map +1 -1
- package/dist/development/src/modifications/entities/CreateEntityModification.cjs.map +1 -1
- package/dist/development/src/modifications/entities/CreateEntityModification.js.map +1 -1
- package/dist/development/src/modifications/entities/CreateViewModification.cjs.map +1 -1
- package/dist/development/src/modifications/entities/CreateViewModification.js.map +1 -1
- package/dist/development/src/modifications/entities/RemoveEntityModification.cjs.map +1 -1
- package/dist/development/src/modifications/entities/RemoveEntityModification.js.map +1 -1
- package/dist/development/src/modifications/entities/ToggleEventLogModification.cjs.map +1 -1
- package/dist/development/src/modifications/entities/ToggleEventLogModification.js.map +1 -1
- package/dist/development/src/modifications/entities/UpdateEntityNameModification.cjs.map +1 -1
- package/dist/development/src/modifications/entities/UpdateEntityNameModification.js.map +1 -1
- package/dist/development/src/modifications/entities/UpdateEntityOrderByModification.cjs.map +1 -1
- package/dist/development/src/modifications/entities/UpdateEntityOrderByModification.js.map +1 -1
- package/dist/development/src/modifications/entities/UpdateEntityTableNameModification.cjs.map +1 -1
- package/dist/development/src/modifications/entities/UpdateEntityTableNameModification.js.map +1 -1
- package/dist/development/src/modifications/entities/UpdateViewModification.cjs.map +1 -1
- package/dist/development/src/modifications/entities/UpdateViewModification.js.map +1 -1
- package/dist/development/src/modifications/enums/CreateEnumModification.cjs.map +1 -1
- package/dist/development/src/modifications/enums/CreateEnumModification.js.map +1 -1
- package/dist/development/src/modifications/enums/RemoveEnumModification.cjs.map +1 -1
- package/dist/development/src/modifications/enums/RemoveEnumModification.js.map +1 -1
- package/dist/development/src/modifications/enums/UpdateEnumModification.cjs.map +1 -1
- package/dist/development/src/modifications/enums/UpdateEnumModification.js.map +1 -1
- package/dist/development/src/modifications/enums/enumUtils.cjs.map +1 -1
- package/dist/development/src/modifications/fields/RemoveFieldModification.cjs.map +1 -1
- package/dist/development/src/modifications/fields/RemoveFieldModification.js.map +1 -1
- package/dist/development/src/modifications/fields/UpdateFieldNameModification.cjs.map +1 -1
- package/dist/development/src/modifications/fields/UpdateFieldNameModification.js.map +1 -1
- package/dist/development/src/modifications/indexes/CreateIndexModification.cjs.map +1 -1
- package/dist/development/src/modifications/indexes/CreateIndexModification.js.map +1 -1
- package/dist/development/src/modifications/indexes/RemoveIndexModification.cjs.map +1 -1
- package/dist/development/src/modifications/indexes/RemoveIndexModification.js.map +1 -1
- package/dist/development/src/modifications/indexes/utils.cjs.map +1 -1
- package/dist/development/src/modifications/indexes/utils.js.map +1 -1
- package/dist/development/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.cjs.map +1 -1
- package/dist/development/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.js.map +1 -1
- package/dist/development/src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.cjs.map +1 -1
- package/dist/development/src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.js.map +1 -1
- package/dist/development/src/modifications/relations/ConvertOneToManyRelationModification.cjs.map +1 -1
- package/dist/development/src/modifications/relations/ConvertOneToManyRelationModification.js.map +1 -1
- package/dist/development/src/modifications/relations/CreateRelationInverseSideModification.cjs.map +1 -1
- package/dist/development/src/modifications/relations/CreateRelationInverseSideModification.js.map +1 -1
- package/dist/development/src/modifications/relations/CreateRelationModification.cjs.map +1 -1
- package/dist/development/src/modifications/relations/CreateRelationModification.js.map +1 -1
- package/dist/development/src/modifications/relations/DisableOrphanRemovalModification.cjs.map +1 -1
- package/dist/development/src/modifications/relations/DisableOrphanRemovalModification.js.map +1 -1
- package/dist/development/src/modifications/relations/EnableOrphanRemovalModification.cjs.map +1 -1
- package/dist/development/src/modifications/relations/EnableOrphanRemovalModification.js.map +1 -1
- package/dist/development/src/modifications/relations/MakeRelationNotNullModification.cjs.map +1 -1
- package/dist/development/src/modifications/relations/MakeRelationNotNullModification.js.map +1 -1
- package/dist/development/src/modifications/relations/MakeRelationNullableModification.cjs.map +1 -1
- package/dist/development/src/modifications/relations/MakeRelationNullableModification.js.map +1 -1
- package/dist/development/src/modifications/relations/ToggleJunctionEventLogModification.cjs.map +1 -1
- package/dist/development/src/modifications/relations/ToggleJunctionEventLogModification.js.map +1 -1
- package/dist/development/src/modifications/relations/UpdateRelationOnDeleteModification.cjs.map +1 -1
- package/dist/development/src/modifications/relations/UpdateRelationOnDeleteModification.js.map +1 -1
- package/dist/development/src/modifications/relations/UpdateRelationOrderByModification.cjs.map +1 -1
- package/dist/development/src/modifications/relations/UpdateRelationOrderByModification.js.map +1 -1
- package/dist/development/src/modifications/relations/helpers.cjs.map +1 -1
- package/dist/development/src/modifications/relations/helpers.js.map +1 -1
- package/dist/development/src/modifications/relations/normalization.cjs.map +1 -1
- package/dist/development/src/modifications/relations/normalization.js.map +1 -1
- package/dist/development/src/modifications/settings/UpdateSettingsModification.cjs.map +1 -1
- package/dist/development/src/modifications/settings/UpdateSettingsModification.js.map +1 -1
- package/dist/development/src/modifications/upgrade/RemoveIndexNamesModification.cjs.map +1 -1
- package/dist/development/src/modifications/upgrade/RemoveIndexNamesModification.js.map +1 -1
- package/dist/development/src/modifications/utils/createJunctionTable.cjs.map +1 -1
- package/dist/development/src/modifications/utils/createJunctionTable.js.map +1 -1
- package/dist/development/src/modifications/utils/diffUtils.cjs.map +1 -1
- package/dist/development/src/modifications/utils/diffUtils.js.map +1 -1
- package/dist/development/src/modifications/utils/schemaUpdateUtils.cjs.map +1 -1
- package/dist/development/src/modifications/utils/schemaUpdateUtils.js.map +1 -1
- package/dist/development/src/modifications/utils/sqlUpdateUtils.cjs.map +1 -1
- package/dist/development/src/modifications/utils/sqlUpdateUtils.js.map +1 -1
- package/dist/development/src/modifications/utils/viewDependencies.cjs.map +1 -1
- package/dist/development/src/modifications/utils/viewDependencies.js.map +1 -1
- package/dist/development/src/modifications/validation/PatchValidationSchemaModification.cjs.map +1 -1
- package/dist/development/src/modifications/validation/PatchValidationSchemaModification.js.map +1 -1
- package/dist/development/src/modifications/validation/UpdateValidationSchemaModification.cjs.map +1 -1
- package/dist/development/src/modifications/validation/UpdateValidationSchemaModification.js.map +1 -1
- package/dist/development/src/utils/deepCopy.cjs.map +1 -1
- package/dist/development/src/utils/deepCopy.js.map +1 -1
- package/dist/production/src/MigrationDescriber.cjs.map +1 -1
- package/dist/production/src/MigrationDescriber.js.map +1 -1
- package/dist/production/src/SchemaDiffer.cjs.map +1 -1
- package/dist/production/src/SchemaDiffer.js.map +1 -1
- package/dist/production/src/SchemaMigrator.cjs.map +1 -1
- package/dist/production/src/SchemaMigrator.js.map +1 -1
- package/dist/production/src/modifications/ModificationHandler.cjs.map +1 -1
- package/dist/production/src/modifications/ModificationHandler.js.map +1 -1
- package/dist/production/src/modifications/ModificationHandlerFactory.cjs.map +1 -1
- package/dist/production/src/modifications/ModificationHandlerFactory.js.map +1 -1
- package/dist/production/src/modifications/NoopModification.cjs.map +1 -1
- package/dist/production/src/modifications/NoopModification.js.map +1 -1
- package/dist/production/src/modifications/acl/PatchAclSchemaModification.cjs.map +1 -1
- package/dist/production/src/modifications/acl/PatchAclSchemaModification.js.map +1 -1
- package/dist/production/src/modifications/acl/UpdateAclSchemaModification.cjs.map +1 -1
- package/dist/production/src/modifications/acl/UpdateAclSchemaModification.js.map +1 -1
- package/dist/production/src/modifications/actions/CreateTargetModification.cjs.map +1 -1
- package/dist/production/src/modifications/actions/CreateTargetModification.js.map +1 -1
- package/dist/production/src/modifications/actions/CreateTriggerModification.cjs.map +1 -1
- package/dist/production/src/modifications/actions/CreateTriggerModification.js.map +1 -1
- package/dist/production/src/modifications/actions/RemoveTargetModification.cjs.map +1 -1
- package/dist/production/src/modifications/actions/RemoveTargetModification.js.map +1 -1
- package/dist/production/src/modifications/actions/RemoveTriggerModification.cjs.map +1 -1
- package/dist/production/src/modifications/actions/RemoveTriggerModification.js.map +1 -1
- package/dist/production/src/modifications/actions/UpdateTargetModification.cjs.map +1 -1
- package/dist/production/src/modifications/actions/UpdateTargetModification.js.map +1 -1
- package/dist/production/src/modifications/actions/UpdateTriggerModification.cjs.map +1 -1
- package/dist/production/src/modifications/actions/UpdateTriggerModification.js.map +1 -1
- package/dist/production/src/modifications/columns/CreateColumnModification.cjs.map +1 -1
- package/dist/production/src/modifications/columns/CreateColumnModification.js.map +1 -1
- package/dist/production/src/modifications/columns/UpdateColumnDefinitionModification.cjs.map +1 -1
- package/dist/production/src/modifications/columns/UpdateColumnDefinitionModification.js.map +1 -1
- package/dist/production/src/modifications/columns/UpdateColumnNameModification.cjs.map +1 -1
- package/dist/production/src/modifications/columns/UpdateColumnNameModification.js.map +1 -1
- package/dist/production/src/modifications/columns/columnUtils.cjs.map +1 -1
- package/dist/production/src/modifications/columns/columnUtils.js.map +1 -1
- package/dist/production/src/modifications/constraints/CreateUniqueConstraintModification.cjs.map +1 -1
- package/dist/production/src/modifications/constraints/CreateUniqueConstraintModification.js.map +1 -1
- package/dist/production/src/modifications/constraints/RemoveUniqueConstraintModification.cjs.map +1 -1
- package/dist/production/src/modifications/constraints/RemoveUniqueConstraintModification.js.map +1 -1
- package/dist/production/src/modifications/constraints/utils.cjs.map +1 -1
- package/dist/production/src/modifications/constraints/utils.js.map +1 -1
- package/dist/production/src/modifications/differs/RemoveChangedFieldDiffer.cjs.map +1 -1
- package/dist/production/src/modifications/differs/RemoveChangedFieldDiffer.js.map +1 -1
- package/dist/production/src/modifications/differs/RemoveViewDiffer.cjs.map +1 -1
- package/dist/production/src/modifications/differs/RemoveViewDiffer.js.map +1 -1
- package/dist/production/src/modifications/entities/CreateEntityModification.cjs.map +1 -1
- package/dist/production/src/modifications/entities/CreateEntityModification.js.map +1 -1
- package/dist/production/src/modifications/entities/CreateViewModification.cjs.map +1 -1
- package/dist/production/src/modifications/entities/CreateViewModification.js.map +1 -1
- package/dist/production/src/modifications/entities/RemoveEntityModification.cjs.map +1 -1
- package/dist/production/src/modifications/entities/RemoveEntityModification.js.map +1 -1
- package/dist/production/src/modifications/entities/ToggleEventLogModification.cjs.map +1 -1
- package/dist/production/src/modifications/entities/ToggleEventLogModification.js.map +1 -1
- package/dist/production/src/modifications/entities/UpdateEntityNameModification.cjs.map +1 -1
- package/dist/production/src/modifications/entities/UpdateEntityNameModification.js.map +1 -1
- package/dist/production/src/modifications/entities/UpdateEntityOrderByModification.cjs.map +1 -1
- package/dist/production/src/modifications/entities/UpdateEntityOrderByModification.js.map +1 -1
- package/dist/production/src/modifications/entities/UpdateEntityTableNameModification.cjs.map +1 -1
- package/dist/production/src/modifications/entities/UpdateEntityTableNameModification.js.map +1 -1
- package/dist/production/src/modifications/entities/UpdateViewModification.cjs.map +1 -1
- package/dist/production/src/modifications/entities/UpdateViewModification.js.map +1 -1
- package/dist/production/src/modifications/enums/CreateEnumModification.cjs.map +1 -1
- package/dist/production/src/modifications/enums/CreateEnumModification.js.map +1 -1
- package/dist/production/src/modifications/enums/RemoveEnumModification.cjs.map +1 -1
- package/dist/production/src/modifications/enums/RemoveEnumModification.js.map +1 -1
- package/dist/production/src/modifications/enums/UpdateEnumModification.cjs.map +1 -1
- package/dist/production/src/modifications/enums/UpdateEnumModification.js.map +1 -1
- package/dist/production/src/modifications/enums/enumUtils.cjs.map +1 -1
- package/dist/production/src/modifications/fields/RemoveFieldModification.cjs.map +1 -1
- package/dist/production/src/modifications/fields/RemoveFieldModification.js.map +1 -1
- package/dist/production/src/modifications/fields/UpdateFieldNameModification.cjs.map +1 -1
- package/dist/production/src/modifications/fields/UpdateFieldNameModification.js.map +1 -1
- package/dist/production/src/modifications/indexes/CreateIndexModification.cjs.map +1 -1
- package/dist/production/src/modifications/indexes/CreateIndexModification.js.map +1 -1
- package/dist/production/src/modifications/indexes/RemoveIndexModification.cjs.map +1 -1
- package/dist/production/src/modifications/indexes/RemoveIndexModification.js.map +1 -1
- package/dist/production/src/modifications/indexes/utils.cjs.map +1 -1
- package/dist/production/src/modifications/indexes/utils.js.map +1 -1
- package/dist/production/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.cjs.map +1 -1
- package/dist/production/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.js.map +1 -1
- package/dist/production/src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.cjs.map +1 -1
- package/dist/production/src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.js.map +1 -1
- package/dist/production/src/modifications/relations/ConvertOneToManyRelationModification.cjs.map +1 -1
- package/dist/production/src/modifications/relations/ConvertOneToManyRelationModification.js.map +1 -1
- package/dist/production/src/modifications/relations/CreateRelationInverseSideModification.cjs.map +1 -1
- package/dist/production/src/modifications/relations/CreateRelationInverseSideModification.js.map +1 -1
- package/dist/production/src/modifications/relations/CreateRelationModification.cjs.map +1 -1
- package/dist/production/src/modifications/relations/CreateRelationModification.js.map +1 -1
- package/dist/production/src/modifications/relations/DisableOrphanRemovalModification.cjs.map +1 -1
- package/dist/production/src/modifications/relations/DisableOrphanRemovalModification.js.map +1 -1
- package/dist/production/src/modifications/relations/EnableOrphanRemovalModification.cjs.map +1 -1
- package/dist/production/src/modifications/relations/EnableOrphanRemovalModification.js.map +1 -1
- package/dist/production/src/modifications/relations/MakeRelationNotNullModification.cjs.map +1 -1
- package/dist/production/src/modifications/relations/MakeRelationNotNullModification.js.map +1 -1
- package/dist/production/src/modifications/relations/MakeRelationNullableModification.cjs.map +1 -1
- package/dist/production/src/modifications/relations/MakeRelationNullableModification.js.map +1 -1
- package/dist/production/src/modifications/relations/ToggleJunctionEventLogModification.cjs.map +1 -1
- package/dist/production/src/modifications/relations/ToggleJunctionEventLogModification.js.map +1 -1
- package/dist/production/src/modifications/relations/UpdateRelationOnDeleteModification.cjs.map +1 -1
- package/dist/production/src/modifications/relations/UpdateRelationOnDeleteModification.js.map +1 -1
- package/dist/production/src/modifications/relations/UpdateRelationOrderByModification.cjs.map +1 -1
- package/dist/production/src/modifications/relations/UpdateRelationOrderByModification.js.map +1 -1
- package/dist/production/src/modifications/relations/helpers.cjs.map +1 -1
- package/dist/production/src/modifications/relations/helpers.js.map +1 -1
- package/dist/production/src/modifications/relations/normalization.cjs.map +1 -1
- package/dist/production/src/modifications/relations/normalization.js.map +1 -1
- package/dist/production/src/modifications/settings/UpdateSettingsModification.cjs.map +1 -1
- package/dist/production/src/modifications/settings/UpdateSettingsModification.js.map +1 -1
- package/dist/production/src/modifications/upgrade/RemoveIndexNamesModification.cjs.map +1 -1
- package/dist/production/src/modifications/upgrade/RemoveIndexNamesModification.js.map +1 -1
- package/dist/production/src/modifications/utils/createJunctionTable.cjs.map +1 -1
- package/dist/production/src/modifications/utils/createJunctionTable.js.map +1 -1
- package/dist/production/src/modifications/utils/diffUtils.cjs.map +1 -1
- package/dist/production/src/modifications/utils/diffUtils.js.map +1 -1
- package/dist/production/src/modifications/utils/schemaUpdateUtils.cjs.map +1 -1
- package/dist/production/src/modifications/utils/schemaUpdateUtils.js.map +1 -1
- package/dist/production/src/modifications/utils/sqlUpdateUtils.cjs.map +1 -1
- package/dist/production/src/modifications/utils/sqlUpdateUtils.js.map +1 -1
- package/dist/production/src/modifications/utils/viewDependencies.cjs.map +1 -1
- package/dist/production/src/modifications/utils/viewDependencies.js.map +1 -1
- package/dist/production/src/modifications/validation/PatchValidationSchemaModification.cjs.map +1 -1
- package/dist/production/src/modifications/validation/PatchValidationSchemaModification.js.map +1 -1
- package/dist/production/src/modifications/validation/UpdateValidationSchemaModification.cjs.map +1 -1
- package/dist/production/src/modifications/validation/UpdateValidationSchemaModification.js.map +1 -1
- package/dist/production/src/utils/deepCopy.cjs.map +1 -1
- package/dist/production/src/utils/deepCopy.js.map +1 -1
- package/dist/tests/src/tests.d.ts +1 -1
- package/dist/tests/src/tests.d.ts.map +1 -1
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -8
- package/tests/cases/integration/convertManyHasOneToOneHasOneRelation.test.ts +23 -19
- package/tests/cases/integration/convertOneHasManyToManyHasManyRelation.test.ts +57 -55
- package/tests/cases/integration/convertOneToManyRelation.test.ts +46 -42
- package/tests/cases/integration/createAndDropIndex.test.ts +5 -4
- package/tests/cases/integration/createColumn.test.ts +7 -6
- package/tests/cases/integration/createEntity.test.ts +5 -4
- package/tests/cases/integration/createEnum.test.ts +3 -2
- package/tests/cases/integration/createManyHasMany.test.ts +3 -2
- package/tests/cases/integration/createManyHasOne.test.ts +3 -2
- package/tests/cases/integration/createOneHasMany.test.ts +3 -2
- package/tests/cases/integration/createOneHasOne.test.ts +3 -2
- package/tests/cases/integration/createRelationInverseSide.test.ts +5 -4
- package/tests/cases/integration/createUnique.test.ts +11 -10
- package/tests/cases/integration/createView.test.ts +5 -4
- package/tests/cases/integration/disableOrphanRemoval.test.ts +3 -2
- package/tests/cases/integration/enableOrphanRemoval.test.ts +3 -2
- package/tests/cases/integration/makeColumnNotNull.test.ts +3 -2
- package/tests/cases/integration/makeRelationNotNull.test.ts +3 -2
- package/tests/cases/integration/makeRelationNullable.test.ts +5 -4
- package/tests/cases/integration/patchAclSchema.test.ts +3 -2
- package/tests/cases/integration/removeEntity.test.ts +15 -14
- package/tests/cases/integration/removeEnum.test.ts +3 -2
- package/tests/cases/integration/removeField.test.ts +13 -12
- package/tests/cases/integration/toggleEventLog.test.ts +5 -4
- package/tests/cases/integration/toggleJunctionEventLog.test.ts +5 -4
- package/tests/cases/integration/updateColumnDefinition.test.ts +11 -10
- package/tests/cases/integration/updateEntityName.test.ts +9 -8
- package/tests/cases/integration/updateEntityOrderBy.test.ts +5 -4
- package/tests/cases/integration/updateEnum.test.ts +3 -2
- package/tests/cases/integration/updateFieldName.test.ts +13 -12
- package/tests/cases/integration/updateRelationOnDelete.test.ts +4 -2
- package/tests/cases/integration/updateRelationOrderBy.test.ts +3 -2
- package/tests/cases/integration/updateView.test.ts +9 -8
- package/tests/src/tests.ts +17 -19
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaMigrator.js","sources":["../../../../packages/schema-migrations/src/SchemaMigrator.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport { ModificationHandlerFactory } from './modifications'\nimport { Migration } from './Migration'\n\nexport class SchemaMigrator {\n\tconstructor(private readonly modificationHandlerFactory: ModificationHandlerFactory) {}\n\n\tpublic applyModifications(schema: Schema, diff: readonly Migration.Modification[], formatVersion: number): Schema {\n\t\tfor (const modification of diff) {\n\t\t\tconst { modification: name, ...data } = modification\n\t\t\tconst modificationHandler = this.modificationHandlerFactory.create(name, data, schema, {\n\t\t\t\tformatVersion,\n\t\t\t})\n\t\t\tschema = modificationHandler.getSchemaUpdater()({ schema })\n\t\t}\n\t\treturn schema\n\t}\n}\n"],"names":[],"mappings":"AAIO,MAAM,eAAe;AAAA,EAC3B,YAA6B,4BAAwD;AAAxD,SAAA,6BAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"SchemaMigrator.js","sources":["../../../../packages/schema-migrations/src/SchemaMigrator.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport { ModificationHandlerFactory } from './modifications'\nimport { Migration } from './Migration'\n\nexport class SchemaMigrator {\n\tconstructor(private readonly modificationHandlerFactory: ModificationHandlerFactory) {}\n\n\tpublic applyModifications(schema: Schema, diff: readonly Migration.Modification[], formatVersion: number): Schema {\n\t\tfor (const modification of diff) {\n\t\t\tconst { modification: name, ...data } = modification\n\t\t\tconst modificationHandler = this.modificationHandlerFactory.create(name, data, schema, {\n\t\t\t\tformatVersion,\n\t\t\t})\n\t\t\tschema = modificationHandler.getSchemaUpdater()({ schema })\n\t\t}\n\t\treturn schema\n\t}\n}\n"],"names":[],"mappings":"AAIO,MAAM,eAAe;AAAA,EAC3B,YAA6B,4BAAwD;AAAxD,SAAA,6BAAA;AAAA,EAAA;AAAA,EAEtB,mBAAmB,QAAgB,MAAyC,eAA+B;AACjH,eAAW,gBAAgB,MAAM;AAChC,YAAM,EAAE,cAAc,MAAM,GAAG,KAAS,IAAA;AACxC,YAAM,sBAAsB,KAAK,2BAA2B,OAAO,MAAM,MAAM,QAAQ;AAAA,QACtF;AAAA,MAAA,CACA;AACD,eAAS,oBAAoB,mBAAmB,EAAE,QAAQ;AAAA,IAAA;AAEpD,WAAA;AAAA,EAAA;AAET;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModificationHandler.cjs","sources":["../../../../../packages/schema-migrations/src/modifications/ModificationHandler.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { SchemaUpdater } from './utils/schemaUpdateUtils'\nimport { Schema } from '@contember/schema'\nimport { Migration } from '../Migration'\nimport { DatabaseMetadata } from '@contember/database'\n\nexport interface ModificationDescription {\n\tmessage: string\n\tisDestructive?: boolean\n\tfailureWarning?: string\n}\n\nexport const emptyModificationDescriptionContext: ModificationDescriptionContext = { createdEntities: [] }\nexport type ModificationDescriptionContext = { createdEntities: string[] }\n\nexport interface ModificationHandler<Data> {\n\tcreateSql(builder: MigrationBuilder, options: ModificationHandlerCreateSqlOptions): void\n\n\tgetSchemaUpdater(): SchemaUpdater\n\n\tdescribe(context: ModificationDescriptionContext): ModificationDescription\n}\n\nexport interface ModificationHandlerCreateSqlOptions {\n\tsystemSchema: string\n\tdatabaseMetadata: DatabaseMetadata\n\tinvalidateDatabaseMetadata: () => void\n}\n\nexport interface ModificationHandlerOptions {\n\tformatVersion: number\n}\n\nexport interface ModificationHandlerConstructor<Data> {\n\tnew(data: Data, schema: Schema, options: ModificationHandlerOptions): ModificationHandler<Data>\n}\n\nexport interface Differ<Data = { [field: string]: any }> {\n\tcreateDiff: (originalSchema: Schema, updatedSchema: Schema) => Migration.Modification<Data>[]\n}\n\n\nexport interface ModificationType<Id extends String, Data> {\n\tid: Id\n\tcreateModification: (data: Data) => Migration.Modification<Data>\n\tcreateHandler: (data: Data, schema: Schema, options: ModificationHandlerOptions) => ModificationHandler<Data>\n}\n\nexport const createModificationType = <Data, Id extends string>({ handler, id }: {\n\tid: Id\n\thandler: ModificationHandlerConstructor<Data>\n}): ModificationType<Id, Data> => {\n\treturn {\n\t\tid,\n\t\tcreateModification: data => ({ modification: id, ...data }),\n\t\tcreateHandler: (data, schema, options) => new handler(data, schema, options),\n\t}\n}\n"],"names":[],"mappings":";;AAYO,MAAM,sCAAsE,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"ModificationHandler.cjs","sources":["../../../../../packages/schema-migrations/src/modifications/ModificationHandler.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { SchemaUpdater } from './utils/schemaUpdateUtils'\nimport { Schema } from '@contember/schema'\nimport { Migration } from '../Migration'\nimport { DatabaseMetadata } from '@contember/database'\n\nexport interface ModificationDescription {\n\tmessage: string\n\tisDestructive?: boolean\n\tfailureWarning?: string\n}\n\nexport const emptyModificationDescriptionContext: ModificationDescriptionContext = { createdEntities: [] }\nexport type ModificationDescriptionContext = { createdEntities: string[] }\n\nexport interface ModificationHandler<Data> {\n\tcreateSql(builder: MigrationBuilder, options: ModificationHandlerCreateSqlOptions): void\n\n\tgetSchemaUpdater(): SchemaUpdater\n\n\tdescribe(context: ModificationDescriptionContext): ModificationDescription\n}\n\nexport interface ModificationHandlerCreateSqlOptions {\n\tsystemSchema: string\n\tdatabaseMetadata: DatabaseMetadata\n\tinvalidateDatabaseMetadata: () => void\n}\n\nexport interface ModificationHandlerOptions {\n\tformatVersion: number\n}\n\nexport interface ModificationHandlerConstructor<Data> {\n\tnew(data: Data, schema: Schema, options: ModificationHandlerOptions): ModificationHandler<Data>\n}\n\nexport interface Differ<Data = { [field: string]: any }> {\n\tcreateDiff: (originalSchema: Schema, updatedSchema: Schema) => Migration.Modification<Data>[]\n}\n\n\nexport interface ModificationType<Id extends String, Data> {\n\tid: Id\n\tcreateModification: (data: Data) => Migration.Modification<Data>\n\tcreateHandler: (data: Data, schema: Schema, options: ModificationHandlerOptions) => ModificationHandler<Data>\n}\n\nexport const createModificationType = <Data, Id extends string>({ handler, id }: {\n\tid: Id\n\thandler: ModificationHandlerConstructor<Data>\n}): ModificationType<Id, Data> => {\n\treturn {\n\t\tid,\n\t\tcreateModification: data => ({ modification: id, ...data }),\n\t\tcreateHandler: (data, schema, options) => new handler(data, schema, options),\n\t}\n}\n"],"names":[],"mappings":";;AAYO,MAAM,sCAAsE,EAAE,iBAAiB,CAAG,EAAA;AAoClG,MAAM,yBAAyB,CAA0B,EAAE,SAAS,SAGzC;AAC1B,SAAA;AAAA,IACN;AAAA,IACA,oBAAoB,CAAS,UAAA,EAAE,cAAc,IAAI,GAAG;IACpD,eAAe,CAAC,MAAM,QAAQ,YAAY,IAAI,QAAQ,MAAM,QAAQ,OAAO;AAAA,EAC5E;AACD;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModificationHandler.js","sources":["../../../../../packages/schema-migrations/src/modifications/ModificationHandler.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { SchemaUpdater } from './utils/schemaUpdateUtils'\nimport { Schema } from '@contember/schema'\nimport { Migration } from '../Migration'\nimport { DatabaseMetadata } from '@contember/database'\n\nexport interface ModificationDescription {\n\tmessage: string\n\tisDestructive?: boolean\n\tfailureWarning?: string\n}\n\nexport const emptyModificationDescriptionContext: ModificationDescriptionContext = { createdEntities: [] }\nexport type ModificationDescriptionContext = { createdEntities: string[] }\n\nexport interface ModificationHandler<Data> {\n\tcreateSql(builder: MigrationBuilder, options: ModificationHandlerCreateSqlOptions): void\n\n\tgetSchemaUpdater(): SchemaUpdater\n\n\tdescribe(context: ModificationDescriptionContext): ModificationDescription\n}\n\nexport interface ModificationHandlerCreateSqlOptions {\n\tsystemSchema: string\n\tdatabaseMetadata: DatabaseMetadata\n\tinvalidateDatabaseMetadata: () => void\n}\n\nexport interface ModificationHandlerOptions {\n\tformatVersion: number\n}\n\nexport interface ModificationHandlerConstructor<Data> {\n\tnew(data: Data, schema: Schema, options: ModificationHandlerOptions): ModificationHandler<Data>\n}\n\nexport interface Differ<Data = { [field: string]: any }> {\n\tcreateDiff: (originalSchema: Schema, updatedSchema: Schema) => Migration.Modification<Data>[]\n}\n\n\nexport interface ModificationType<Id extends String, Data> {\n\tid: Id\n\tcreateModification: (data: Data) => Migration.Modification<Data>\n\tcreateHandler: (data: Data, schema: Schema, options: ModificationHandlerOptions) => ModificationHandler<Data>\n}\n\nexport const createModificationType = <Data, Id extends string>({ handler, id }: {\n\tid: Id\n\thandler: ModificationHandlerConstructor<Data>\n}): ModificationType<Id, Data> => {\n\treturn {\n\t\tid,\n\t\tcreateModification: data => ({ modification: id, ...data }),\n\t\tcreateHandler: (data, schema, options) => new handler(data, schema, options),\n\t}\n}\n"],"names":[],"mappings":"AAYO,MAAM,sCAAsE,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"ModificationHandler.js","sources":["../../../../../packages/schema-migrations/src/modifications/ModificationHandler.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { SchemaUpdater } from './utils/schemaUpdateUtils'\nimport { Schema } from '@contember/schema'\nimport { Migration } from '../Migration'\nimport { DatabaseMetadata } from '@contember/database'\n\nexport interface ModificationDescription {\n\tmessage: string\n\tisDestructive?: boolean\n\tfailureWarning?: string\n}\n\nexport const emptyModificationDescriptionContext: ModificationDescriptionContext = { createdEntities: [] }\nexport type ModificationDescriptionContext = { createdEntities: string[] }\n\nexport interface ModificationHandler<Data> {\n\tcreateSql(builder: MigrationBuilder, options: ModificationHandlerCreateSqlOptions): void\n\n\tgetSchemaUpdater(): SchemaUpdater\n\n\tdescribe(context: ModificationDescriptionContext): ModificationDescription\n}\n\nexport interface ModificationHandlerCreateSqlOptions {\n\tsystemSchema: string\n\tdatabaseMetadata: DatabaseMetadata\n\tinvalidateDatabaseMetadata: () => void\n}\n\nexport interface ModificationHandlerOptions {\n\tformatVersion: number\n}\n\nexport interface ModificationHandlerConstructor<Data> {\n\tnew(data: Data, schema: Schema, options: ModificationHandlerOptions): ModificationHandler<Data>\n}\n\nexport interface Differ<Data = { [field: string]: any }> {\n\tcreateDiff: (originalSchema: Schema, updatedSchema: Schema) => Migration.Modification<Data>[]\n}\n\n\nexport interface ModificationType<Id extends String, Data> {\n\tid: Id\n\tcreateModification: (data: Data) => Migration.Modification<Data>\n\tcreateHandler: (data: Data, schema: Schema, options: ModificationHandlerOptions) => ModificationHandler<Data>\n}\n\nexport const createModificationType = <Data, Id extends string>({ handler, id }: {\n\tid: Id\n\thandler: ModificationHandlerConstructor<Data>\n}): ModificationType<Id, Data> => {\n\treturn {\n\t\tid,\n\t\tcreateModification: data => ({ modification: id, ...data }),\n\t\tcreateHandler: (data, schema, options) => new handler(data, schema, options),\n\t}\n}\n"],"names":[],"mappings":"AAYO,MAAM,sCAAsE,EAAE,iBAAiB,CAAG,EAAA;AAoClG,MAAM,yBAAyB,CAA0B,EAAE,SAAS,SAGzC;AAC1B,SAAA;AAAA,IACN;AAAA,IACA,oBAAoB,CAAS,UAAA,EAAE,cAAc,IAAI,GAAG;IACpD,eAAe,CAAC,MAAM,QAAQ,YAAY,IAAI,QAAQ,MAAM,QAAQ,OAAO;AAAA,EAC5E;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModificationHandlerFactory.cjs","sources":["../../../../../packages/schema-migrations/src/modifications/ModificationHandlerFactory.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport { ModificationHandler, ModificationHandlerOptions, ModificationType } from './ModificationHandler'\nimport { patchAclSchemaModification, updateAclSchemaModification } from './acl'\nimport { createColumnModification, updateColumnDefinitionModification, updateColumnNameModification } from './columns'\nimport { createUniqueConstraintModification, removeUniqueConstraintModification } from './constraints'\nimport {\n\tcreateEntityModification,\n\tcreateViewModification,\n\tremoveEntityModification,\n\ttoggleEventLogModification,\n\tupdateEntityNameModification,\n\tupdateEntityTableNameModification,\n} from './entities'\nimport { updateViewModification } from './entities/UpdateViewModification'\nimport { createEnumModification, removeEnumModification, updateEnumModification } from './enums'\nimport { removeFieldModification, updateFieldNameModification } from './fields'\nimport {\n\tconvertOneHasManyToManyHasManyRelationModification,\n\tconvertOneToManyRelationModification,\n\tcreateRelationInverseSideModification,\n\tcreateRelationModification,\n\tdisableOrphanRemovalModification,\n\tenableOrphanRemovalModification,\n\tmakeRelationNotNullModification,\n\tmakeRelationNullableModification,\n\ttoggleJunctionEventLogModification,\n\tupdateRelationOnDeleteModification,\n\tupdateRelationOrderByModification,\n} from './relations'\nimport { patchValidationSchemaModification, updateValidationSchemaModification } from './validation'\nimport { createIndexModification, removeIndexModification } from './indexes'\nimport { updateSettingsModification } from './settings'\nimport { createTriggerModification, removeTriggerModification, updateTriggerModification } from './actions'\nimport { createTargetModification } from './actions/CreateTargetModification'\nimport { removeTargetModification } from './actions/RemoveTargetModification'\nimport { updateTargetModification } from './actions/UpdateTargetModification'\nimport { updateEntityOrderByModification } from './entities/UpdateEntityOrderByModification'\nimport { removeIndexNamesModification } from './upgrade/RemoveIndexNamesModification'\nimport { convertOneHasManyToOneHasOneRelationModification } from './relations/ConvertOneHasManyToOneHasOneRelationModification'\n\n\nclass ModificationHandlerFactory {\n\tconstructor(private readonly map: Record<string, ModificationType<string, any>>) {}\n\n\tpublic create<D>(name: string, data: D, schema: Schema, options: ModificationHandlerOptions): ModificationHandler<D> {\n\t\tif (!this.map[name]) {\n\t\t\tthrow new Error(`Undefined modification handler for ${name}`)\n\t\t}\n\t\treturn this.map[name].createHandler(data, schema, options)\n\t}\n}\n\nnamespace ModificationHandlerFactory {\n\ttype HandlerMap<D> = { [modificationName: string]: ModificationType<string, D> }\n\n\tconst handlers = [\n\t\tremoveIndexNamesModification,\n\t\tupdateSettingsModification,\n\t\tupdateAclSchemaModification,\n\t\tpatchAclSchemaModification,\n\t\tcreateColumnModification,\n\t\tupdateColumnDefinitionModification,\n\t\tupdateColumnNameModification,\n\t\tcreateUniqueConstraintModification,\n\t\tremoveUniqueConstraintModification,\n\t\tcreateIndexModification,\n\t\tremoveIndexModification,\n\t\tcreateEntityModification,\n\t\tremoveEntityModification,\n\t\tupdateEntityNameModification,\n\t\tupdateEntityTableNameModification,\n\t\tupdateViewModification,\n\t\tcreateViewModification,\n\t\tcreateEnumModification,\n\t\tremoveEnumModification,\n\t\tupdateEnumModification,\n\t\tremoveFieldModification,\n\t\tupdateFieldNameModification,\n\t\tcreateRelationInverseSideModification,\n\t\tcreateRelationModification,\n\t\tupdateRelationOnDeleteModification,\n\t\tupdateRelationOrderByModification,\n\t\tmakeRelationNotNullModification,\n\t\tmakeRelationNullableModification,\n\t\tenableOrphanRemovalModification,\n\t\tdisableOrphanRemovalModification,\n\t\tupdateValidationSchemaModification,\n\t\tpatchValidationSchemaModification,\n\t\tconvertOneToManyRelationModification,\n\t\tconvertOneHasManyToOneHasOneRelationModification,\n\t\ttoggleEventLogModification,\n\t\ttoggleJunctionEventLogModification,\n\t\tconvertOneHasManyToManyHasManyRelationModification,\n\t\tupdateEntityOrderByModification,\n\t\tcreateTriggerModification,\n\t\tupdateTriggerModification,\n\t\tremoveTriggerModification,\n\t\tcreateTargetModification,\n\t\tupdateTargetModification,\n\t\tremoveTargetModification,\n\t]\n\n\texport const defaultFactoryMap: HandlerMap<any> = Object.fromEntries(handlers.map(it => [it.id, it]))\n}\n\nexport { ModificationHandlerFactory }\n"],"names":["ModificationHandlerFactory","removeIndexNamesModification","updateSettingsModification","updateAclSchemaModification","patchAclSchemaModification","createColumnModification","updateColumnDefinitionModification","updateColumnNameModification","createUniqueConstraintModification","removeUniqueConstraintModification","createIndexModification","removeIndexModification","createEntityModification","removeEntityModification","updateEntityNameModification","updateEntityTableNameModification","updateViewModification","createViewModification","createEnumModification","removeEnumModification","updateEnumModification","removeFieldModification","updateFieldNameModification","createRelationInverseSideModification","createRelationModification","updateRelationOnDeleteModification","updateRelationOrderByModification","makeRelationNotNullModification","makeRelationNullableModification","enableOrphanRemovalModification","disableOrphanRemovalModification","updateValidationSchemaModification","patchValidationSchemaModification","convertOneToManyRelationModification","convertOneHasManyToOneHasOneRelationModification","toggleEventLogModification","toggleJunctionEventLogModification","convertOneHasManyToManyHasManyRelationModification","updateEntityOrderByModification","createTriggerModification","updateTriggerModification","removeTriggerModification","createTargetModification","updateTargetModification","removeTargetModification"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCA,MAAM,2BAA2B;AAAA,EAChC,YAA6B,KAAoD;AAApD,SAAA,MAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"ModificationHandlerFactory.cjs","sources":["../../../../../packages/schema-migrations/src/modifications/ModificationHandlerFactory.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport { ModificationHandler, ModificationHandlerOptions, ModificationType } from './ModificationHandler'\nimport { patchAclSchemaModification, updateAclSchemaModification } from './acl'\nimport { createColumnModification, updateColumnDefinitionModification, updateColumnNameModification } from './columns'\nimport { createUniqueConstraintModification, removeUniqueConstraintModification } from './constraints'\nimport {\n\tcreateEntityModification,\n\tcreateViewModification,\n\tremoveEntityModification,\n\ttoggleEventLogModification,\n\tupdateEntityNameModification,\n\tupdateEntityTableNameModification,\n} from './entities'\nimport { updateViewModification } from './entities/UpdateViewModification'\nimport { createEnumModification, removeEnumModification, updateEnumModification } from './enums'\nimport { removeFieldModification, updateFieldNameModification } from './fields'\nimport {\n\tconvertOneHasManyToManyHasManyRelationModification,\n\tconvertOneToManyRelationModification,\n\tcreateRelationInverseSideModification,\n\tcreateRelationModification,\n\tdisableOrphanRemovalModification,\n\tenableOrphanRemovalModification,\n\tmakeRelationNotNullModification,\n\tmakeRelationNullableModification,\n\ttoggleJunctionEventLogModification,\n\tupdateRelationOnDeleteModification,\n\tupdateRelationOrderByModification,\n} from './relations'\nimport { patchValidationSchemaModification, updateValidationSchemaModification } from './validation'\nimport { createIndexModification, removeIndexModification } from './indexes'\nimport { updateSettingsModification } from './settings'\nimport { createTriggerModification, removeTriggerModification, updateTriggerModification } from './actions'\nimport { createTargetModification } from './actions/CreateTargetModification'\nimport { removeTargetModification } from './actions/RemoveTargetModification'\nimport { updateTargetModification } from './actions/UpdateTargetModification'\nimport { updateEntityOrderByModification } from './entities/UpdateEntityOrderByModification'\nimport { removeIndexNamesModification } from './upgrade/RemoveIndexNamesModification'\nimport { convertOneHasManyToOneHasOneRelationModification } from './relations/ConvertOneHasManyToOneHasOneRelationModification'\n\n\nclass ModificationHandlerFactory {\n\tconstructor(private readonly map: Record<string, ModificationType<string, any>>) {}\n\n\tpublic create<D>(name: string, data: D, schema: Schema, options: ModificationHandlerOptions): ModificationHandler<D> {\n\t\tif (!this.map[name]) {\n\t\t\tthrow new Error(`Undefined modification handler for ${name}`)\n\t\t}\n\t\treturn this.map[name].createHandler(data, schema, options)\n\t}\n}\n\nnamespace ModificationHandlerFactory {\n\ttype HandlerMap<D> = { [modificationName: string]: ModificationType<string, D> }\n\n\tconst handlers = [\n\t\tremoveIndexNamesModification,\n\t\tupdateSettingsModification,\n\t\tupdateAclSchemaModification,\n\t\tpatchAclSchemaModification,\n\t\tcreateColumnModification,\n\t\tupdateColumnDefinitionModification,\n\t\tupdateColumnNameModification,\n\t\tcreateUniqueConstraintModification,\n\t\tremoveUniqueConstraintModification,\n\t\tcreateIndexModification,\n\t\tremoveIndexModification,\n\t\tcreateEntityModification,\n\t\tremoveEntityModification,\n\t\tupdateEntityNameModification,\n\t\tupdateEntityTableNameModification,\n\t\tupdateViewModification,\n\t\tcreateViewModification,\n\t\tcreateEnumModification,\n\t\tremoveEnumModification,\n\t\tupdateEnumModification,\n\t\tremoveFieldModification,\n\t\tupdateFieldNameModification,\n\t\tcreateRelationInverseSideModification,\n\t\tcreateRelationModification,\n\t\tupdateRelationOnDeleteModification,\n\t\tupdateRelationOrderByModification,\n\t\tmakeRelationNotNullModification,\n\t\tmakeRelationNullableModification,\n\t\tenableOrphanRemovalModification,\n\t\tdisableOrphanRemovalModification,\n\t\tupdateValidationSchemaModification,\n\t\tpatchValidationSchemaModification,\n\t\tconvertOneToManyRelationModification,\n\t\tconvertOneHasManyToOneHasOneRelationModification,\n\t\ttoggleEventLogModification,\n\t\ttoggleJunctionEventLogModification,\n\t\tconvertOneHasManyToManyHasManyRelationModification,\n\t\tupdateEntityOrderByModification,\n\t\tcreateTriggerModification,\n\t\tupdateTriggerModification,\n\t\tremoveTriggerModification,\n\t\tcreateTargetModification,\n\t\tupdateTargetModification,\n\t\tremoveTargetModification,\n\t]\n\n\texport const defaultFactoryMap: HandlerMap<any> = Object.fromEntries(handlers.map(it => [it.id, it]))\n}\n\nexport { ModificationHandlerFactory }\n"],"names":["ModificationHandlerFactory","removeIndexNamesModification","updateSettingsModification","updateAclSchemaModification","patchAclSchemaModification","createColumnModification","updateColumnDefinitionModification","updateColumnNameModification","createUniqueConstraintModification","removeUniqueConstraintModification","createIndexModification","removeIndexModification","createEntityModification","removeEntityModification","updateEntityNameModification","updateEntityTableNameModification","updateViewModification","createViewModification","createEnumModification","removeEnumModification","updateEnumModification","removeFieldModification","updateFieldNameModification","createRelationInverseSideModification","createRelationModification","updateRelationOnDeleteModification","updateRelationOrderByModification","makeRelationNotNullModification","makeRelationNullableModification","enableOrphanRemovalModification","disableOrphanRemovalModification","updateValidationSchemaModification","patchValidationSchemaModification","convertOneToManyRelationModification","convertOneHasManyToOneHasOneRelationModification","toggleEventLogModification","toggleJunctionEventLogModification","convertOneHasManyToManyHasManyRelationModification","updateEntityOrderByModification","createTriggerModification","updateTriggerModification","removeTriggerModification","createTargetModification","updateTargetModification","removeTargetModification"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCA,MAAM,2BAA2B;AAAA,EAChC,YAA6B,KAAoD;AAApD,SAAA,MAAA;AAAA,EAAA;AAAA,EAEtB,OAAU,MAAc,MAAS,QAAgB,SAA6D;AACpH,QAAI,CAAC,KAAK,IAAI,IAAI,GAAG;AACpB,YAAM,IAAI,MAAM,sCAAsC,IAAI,EAAE;AAAA,IAAA;AAE7D,WAAO,KAAK,IAAI,IAAI,EAAE,cAAc,MAAM,QAAQ,OAAO;AAAA,EAAA;AAE3D;AAAA,CAEA,CAAUA,gCAAV;AAGC,QAAM,WAAW;AAAA,IAChBC,6BAAA;AAAA,IACAC,2BAAA;AAAA,IACAC,4BAAA;AAAA,IACAC,2BAAA;AAAA,IACAC,yBAAA;AAAA,IACAC,mCAAA;AAAA,IACAC,6BAAA;AAAA,IACAC,mCAAA;AAAA,IACAC,mCAAA;AAAA,IACAC,wBAAA;AAAA,IACAC,wBAAA;AAAA,IACAC,yBAAA;AAAA,IACAC,yBAAA;AAAA,IACAC,6BAAA;AAAA,IACAC,kCAAA;AAAA,IACAC,uBAAA;AAAA,IACAC,uBAAA;AAAA,IACAC,uBAAA;AAAA,IACAC,uBAAA;AAAA,IACAC,uBAAA;AAAA,IACAC,wBAAA;AAAA,IACAC,4BAAA;AAAA,IACAC,sCAAA;AAAA,IACAC,2BAAA;AAAA,IACAC,mCAAA;AAAA,IACAC,kCAAA;AAAA,IACAC,gCAAA;AAAA,IACAC,iCAAA;AAAA,IACAC,gCAAA;AAAA,IACAC,iCAAA;AAAA,IACAC,mCAAA;AAAA,IACAC,kCAAA;AAAA,IACAC,qCAAA;AAAA,IACAC,iDAAA;AAAA,IACAC,2BAAA;AAAA,IACAC,mCAAA;AAAA,IACAC,mDAAA;AAAA,IACAC,gCAAA;AAAA,IACAC,0BAAA;AAAA,IACAC,0BAAA;AAAA,IACAC,0BAAA;AAAA,IACAC,yBAAA;AAAA,IACAC,yBAAA;AAAA,IACAC,yBAAAA;AAAAA,EACD;AAEa5C,8BAAA,oBAAqC,OAAO,YAAY,SAAS,IAAI,CAAM,OAAA,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;AAAA,GAlD3F,+BAAA,6BAAA,CAAA,EAAA;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModificationHandlerFactory.js","sources":["../../../../../packages/schema-migrations/src/modifications/ModificationHandlerFactory.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport { ModificationHandler, ModificationHandlerOptions, ModificationType } from './ModificationHandler'\nimport { patchAclSchemaModification, updateAclSchemaModification } from './acl'\nimport { createColumnModification, updateColumnDefinitionModification, updateColumnNameModification } from './columns'\nimport { createUniqueConstraintModification, removeUniqueConstraintModification } from './constraints'\nimport {\n\tcreateEntityModification,\n\tcreateViewModification,\n\tremoveEntityModification,\n\ttoggleEventLogModification,\n\tupdateEntityNameModification,\n\tupdateEntityTableNameModification,\n} from './entities'\nimport { updateViewModification } from './entities/UpdateViewModification'\nimport { createEnumModification, removeEnumModification, updateEnumModification } from './enums'\nimport { removeFieldModification, updateFieldNameModification } from './fields'\nimport {\n\tconvertOneHasManyToManyHasManyRelationModification,\n\tconvertOneToManyRelationModification,\n\tcreateRelationInverseSideModification,\n\tcreateRelationModification,\n\tdisableOrphanRemovalModification,\n\tenableOrphanRemovalModification,\n\tmakeRelationNotNullModification,\n\tmakeRelationNullableModification,\n\ttoggleJunctionEventLogModification,\n\tupdateRelationOnDeleteModification,\n\tupdateRelationOrderByModification,\n} from './relations'\nimport { patchValidationSchemaModification, updateValidationSchemaModification } from './validation'\nimport { createIndexModification, removeIndexModification } from './indexes'\nimport { updateSettingsModification } from './settings'\nimport { createTriggerModification, removeTriggerModification, updateTriggerModification } from './actions'\nimport { createTargetModification } from './actions/CreateTargetModification'\nimport { removeTargetModification } from './actions/RemoveTargetModification'\nimport { updateTargetModification } from './actions/UpdateTargetModification'\nimport { updateEntityOrderByModification } from './entities/UpdateEntityOrderByModification'\nimport { removeIndexNamesModification } from './upgrade/RemoveIndexNamesModification'\nimport { convertOneHasManyToOneHasOneRelationModification } from './relations/ConvertOneHasManyToOneHasOneRelationModification'\n\n\nclass ModificationHandlerFactory {\n\tconstructor(private readonly map: Record<string, ModificationType<string, any>>) {}\n\n\tpublic create<D>(name: string, data: D, schema: Schema, options: ModificationHandlerOptions): ModificationHandler<D> {\n\t\tif (!this.map[name]) {\n\t\t\tthrow new Error(`Undefined modification handler for ${name}`)\n\t\t}\n\t\treturn this.map[name].createHandler(data, schema, options)\n\t}\n}\n\nnamespace ModificationHandlerFactory {\n\ttype HandlerMap<D> = { [modificationName: string]: ModificationType<string, D> }\n\n\tconst handlers = [\n\t\tremoveIndexNamesModification,\n\t\tupdateSettingsModification,\n\t\tupdateAclSchemaModification,\n\t\tpatchAclSchemaModification,\n\t\tcreateColumnModification,\n\t\tupdateColumnDefinitionModification,\n\t\tupdateColumnNameModification,\n\t\tcreateUniqueConstraintModification,\n\t\tremoveUniqueConstraintModification,\n\t\tcreateIndexModification,\n\t\tremoveIndexModification,\n\t\tcreateEntityModification,\n\t\tremoveEntityModification,\n\t\tupdateEntityNameModification,\n\t\tupdateEntityTableNameModification,\n\t\tupdateViewModification,\n\t\tcreateViewModification,\n\t\tcreateEnumModification,\n\t\tremoveEnumModification,\n\t\tupdateEnumModification,\n\t\tremoveFieldModification,\n\t\tupdateFieldNameModification,\n\t\tcreateRelationInverseSideModification,\n\t\tcreateRelationModification,\n\t\tupdateRelationOnDeleteModification,\n\t\tupdateRelationOrderByModification,\n\t\tmakeRelationNotNullModification,\n\t\tmakeRelationNullableModification,\n\t\tenableOrphanRemovalModification,\n\t\tdisableOrphanRemovalModification,\n\t\tupdateValidationSchemaModification,\n\t\tpatchValidationSchemaModification,\n\t\tconvertOneToManyRelationModification,\n\t\tconvertOneHasManyToOneHasOneRelationModification,\n\t\ttoggleEventLogModification,\n\t\ttoggleJunctionEventLogModification,\n\t\tconvertOneHasManyToManyHasManyRelationModification,\n\t\tupdateEntityOrderByModification,\n\t\tcreateTriggerModification,\n\t\tupdateTriggerModification,\n\t\tremoveTriggerModification,\n\t\tcreateTargetModification,\n\t\tupdateTargetModification,\n\t\tremoveTargetModification,\n\t]\n\n\texport const defaultFactoryMap: HandlerMap<any> = Object.fromEntries(handlers.map(it => [it.id, it]))\n}\n\nexport { ModificationHandlerFactory }\n"],"names":["ModificationHandlerFactory"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCA,MAAM,2BAA2B;AAAA,EAChC,YAA6B,KAAoD;AAApD,SAAA,MAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"ModificationHandlerFactory.js","sources":["../../../../../packages/schema-migrations/src/modifications/ModificationHandlerFactory.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport { ModificationHandler, ModificationHandlerOptions, ModificationType } from './ModificationHandler'\nimport { patchAclSchemaModification, updateAclSchemaModification } from './acl'\nimport { createColumnModification, updateColumnDefinitionModification, updateColumnNameModification } from './columns'\nimport { createUniqueConstraintModification, removeUniqueConstraintModification } from './constraints'\nimport {\n\tcreateEntityModification,\n\tcreateViewModification,\n\tremoveEntityModification,\n\ttoggleEventLogModification,\n\tupdateEntityNameModification,\n\tupdateEntityTableNameModification,\n} from './entities'\nimport { updateViewModification } from './entities/UpdateViewModification'\nimport { createEnumModification, removeEnumModification, updateEnumModification } from './enums'\nimport { removeFieldModification, updateFieldNameModification } from './fields'\nimport {\n\tconvertOneHasManyToManyHasManyRelationModification,\n\tconvertOneToManyRelationModification,\n\tcreateRelationInverseSideModification,\n\tcreateRelationModification,\n\tdisableOrphanRemovalModification,\n\tenableOrphanRemovalModification,\n\tmakeRelationNotNullModification,\n\tmakeRelationNullableModification,\n\ttoggleJunctionEventLogModification,\n\tupdateRelationOnDeleteModification,\n\tupdateRelationOrderByModification,\n} from './relations'\nimport { patchValidationSchemaModification, updateValidationSchemaModification } from './validation'\nimport { createIndexModification, removeIndexModification } from './indexes'\nimport { updateSettingsModification } from './settings'\nimport { createTriggerModification, removeTriggerModification, updateTriggerModification } from './actions'\nimport { createTargetModification } from './actions/CreateTargetModification'\nimport { removeTargetModification } from './actions/RemoveTargetModification'\nimport { updateTargetModification } from './actions/UpdateTargetModification'\nimport { updateEntityOrderByModification } from './entities/UpdateEntityOrderByModification'\nimport { removeIndexNamesModification } from './upgrade/RemoveIndexNamesModification'\nimport { convertOneHasManyToOneHasOneRelationModification } from './relations/ConvertOneHasManyToOneHasOneRelationModification'\n\n\nclass ModificationHandlerFactory {\n\tconstructor(private readonly map: Record<string, ModificationType<string, any>>) {}\n\n\tpublic create<D>(name: string, data: D, schema: Schema, options: ModificationHandlerOptions): ModificationHandler<D> {\n\t\tif (!this.map[name]) {\n\t\t\tthrow new Error(`Undefined modification handler for ${name}`)\n\t\t}\n\t\treturn this.map[name].createHandler(data, schema, options)\n\t}\n}\n\nnamespace ModificationHandlerFactory {\n\ttype HandlerMap<D> = { [modificationName: string]: ModificationType<string, D> }\n\n\tconst handlers = [\n\t\tremoveIndexNamesModification,\n\t\tupdateSettingsModification,\n\t\tupdateAclSchemaModification,\n\t\tpatchAclSchemaModification,\n\t\tcreateColumnModification,\n\t\tupdateColumnDefinitionModification,\n\t\tupdateColumnNameModification,\n\t\tcreateUniqueConstraintModification,\n\t\tremoveUniqueConstraintModification,\n\t\tcreateIndexModification,\n\t\tremoveIndexModification,\n\t\tcreateEntityModification,\n\t\tremoveEntityModification,\n\t\tupdateEntityNameModification,\n\t\tupdateEntityTableNameModification,\n\t\tupdateViewModification,\n\t\tcreateViewModification,\n\t\tcreateEnumModification,\n\t\tremoveEnumModification,\n\t\tupdateEnumModification,\n\t\tremoveFieldModification,\n\t\tupdateFieldNameModification,\n\t\tcreateRelationInverseSideModification,\n\t\tcreateRelationModification,\n\t\tupdateRelationOnDeleteModification,\n\t\tupdateRelationOrderByModification,\n\t\tmakeRelationNotNullModification,\n\t\tmakeRelationNullableModification,\n\t\tenableOrphanRemovalModification,\n\t\tdisableOrphanRemovalModification,\n\t\tupdateValidationSchemaModification,\n\t\tpatchValidationSchemaModification,\n\t\tconvertOneToManyRelationModification,\n\t\tconvertOneHasManyToOneHasOneRelationModification,\n\t\ttoggleEventLogModification,\n\t\ttoggleJunctionEventLogModification,\n\t\tconvertOneHasManyToManyHasManyRelationModification,\n\t\tupdateEntityOrderByModification,\n\t\tcreateTriggerModification,\n\t\tupdateTriggerModification,\n\t\tremoveTriggerModification,\n\t\tcreateTargetModification,\n\t\tupdateTargetModification,\n\t\tremoveTargetModification,\n\t]\n\n\texport const defaultFactoryMap: HandlerMap<any> = Object.fromEntries(handlers.map(it => [it.id, it]))\n}\n\nexport { ModificationHandlerFactory }\n"],"names":["ModificationHandlerFactory"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCA,MAAM,2BAA2B;AAAA,EAChC,YAA6B,KAAoD;AAApD,SAAA,MAAA;AAAA,EAAA;AAAA,EAEtB,OAAU,MAAc,MAAS,QAAgB,SAA6D;AACpH,QAAI,CAAC,KAAK,IAAI,IAAI,GAAG;AACpB,YAAM,IAAI,MAAM,sCAAsC,IAAI,EAAE;AAAA,IAAA;AAE7D,WAAO,KAAK,IAAI,IAAI,EAAE,cAAc,MAAM,QAAQ,OAAO;AAAA,EAAA;AAE3D;AAAA,CAEA,CAAUA,gCAAV;AAGC,QAAM,WAAW;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAEaA,8BAAA,oBAAqC,OAAO,YAAY,SAAS,IAAI,CAAM,OAAA,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;AAAA,GAlD3F,+BAAA,6BAAA,CAAA,EAAA;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NoopModification.cjs","sources":["../../../../../packages/schema-migrations/src/modifications/NoopModification.ts"],"sourcesContent":["import { ModificationHandler } from './ModificationHandler'\nimport { MigrationBuilder } from '@contember/database-migrations'\nimport { SchemaUpdater } from './utils/schemaUpdateUtils'\n\nexport class NoopModification implements ModificationHandler<{}> {\n\tcreateSql(builder: MigrationBuilder): void | Promise<void> {}\n\n\tgetSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => schema\n\t}\n\n\tdescribe() {\n\t\treturn { message: '[internal]' }\n\t}\n}\n"],"names":[],"mappings":";;AAIO,MAAM,iBAAoD;AAAA,EAChE,UAAU,SAAiD;AAAA,
|
|
1
|
+
{"version":3,"file":"NoopModification.cjs","sources":["../../../../../packages/schema-migrations/src/modifications/NoopModification.ts"],"sourcesContent":["import { ModificationHandler } from './ModificationHandler'\nimport { MigrationBuilder } from '@contember/database-migrations'\nimport { SchemaUpdater } from './utils/schemaUpdateUtils'\n\nexport class NoopModification implements ModificationHandler<{}> {\n\tcreateSql(builder: MigrationBuilder): void | Promise<void> {}\n\n\tgetSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => schema\n\t}\n\n\tdescribe() {\n\t\treturn { message: '[internal]' }\n\t}\n}\n"],"names":[],"mappings":";;AAIO,MAAM,iBAAoD;AAAA,EAChE,UAAU,SAAiD;AAAA,EAAA;AAAA,EAE3D,mBAAkC;AAC1B,WAAA,CAAC,EAAE,OAAA,MAAa;AAAA,EAAA;AAAA,EAGxB,WAAW;AACH,WAAA,EAAE,SAAS,aAAa;AAAA,EAAA;AAEjC;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NoopModification.js","sources":["../../../../../packages/schema-migrations/src/modifications/NoopModification.ts"],"sourcesContent":["import { ModificationHandler } from './ModificationHandler'\nimport { MigrationBuilder } from '@contember/database-migrations'\nimport { SchemaUpdater } from './utils/schemaUpdateUtils'\n\nexport class NoopModification implements ModificationHandler<{}> {\n\tcreateSql(builder: MigrationBuilder): void | Promise<void> {}\n\n\tgetSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => schema\n\t}\n\n\tdescribe() {\n\t\treturn { message: '[internal]' }\n\t}\n}\n"],"names":[],"mappings":"AAIO,MAAM,iBAAoD;AAAA,EAChE,UAAU,SAAiD;AAAA,
|
|
1
|
+
{"version":3,"file":"NoopModification.js","sources":["../../../../../packages/schema-migrations/src/modifications/NoopModification.ts"],"sourcesContent":["import { ModificationHandler } from './ModificationHandler'\nimport { MigrationBuilder } from '@contember/database-migrations'\nimport { SchemaUpdater } from './utils/schemaUpdateUtils'\n\nexport class NoopModification implements ModificationHandler<{}> {\n\tcreateSql(builder: MigrationBuilder): void | Promise<void> {}\n\n\tgetSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => schema\n\t}\n\n\tdescribe() {\n\t\treturn { message: '[internal]' }\n\t}\n}\n"],"names":[],"mappings":"AAIO,MAAM,iBAAoD;AAAA,EAChE,UAAU,SAAiD;AAAA,EAAA;AAAA,EAE3D,mBAAkC;AAC1B,WAAA,CAAC,EAAE,OAAA,MAAa;AAAA,EAAA;AAAA,EAGxB,WAAW;AACH,WAAA,EAAE,SAAS,aAAa;AAAA,EAAA;AAEjC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PatchAclSchemaModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/acl/PatchAclSchemaModification.ts"],"sourcesContent":["import { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, ModificationHandler } from '../ModificationHandler'\nimport { applyPatch, Operation } from 'rfc6902'\nimport deepCopy from '../../utils/deepCopy'\n\nexport class PatchAclSchemaModificationHandler implements ModificationHandler<PatchAclSchemaModificationData>{\n\tconstructor(private readonly data: PatchAclSchemaModificationData) {}\n\n\tpublic createSql(): void {}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => {\n\t\t\tconst acl = deepCopy(schema.acl)\n\t\t\tconst result = applyPatch(acl, this.data.patch).filter(it => it !== null)\n\t\t\tif (result.length > 0) {\n\t\t\t\tthrow result[0]\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...schema,\n\t\t\t\tacl,\n\t\t\t}\n\t\t}\n\t}\n\n\tdescribe() {\n\t\treturn { message: 'Update ACL schema' }\n\t}\n}\n\nexport const patchAclSchemaModification = createModificationType({\n\tid: 'patchAclSchema',\n\thandler: PatchAclSchemaModificationHandler,\n})\n\nexport interface PatchAclSchemaModificationData {\n\tpatch: Operation[]\n}\n"],"names":["applyPatch","createModificationType"],"mappings":";;;;;AAKO,MAAM,kCAAgG;AAAA,EAC5G,YAA6B,MAAsC;AAAtC,SAAA,OAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"PatchAclSchemaModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/acl/PatchAclSchemaModification.ts"],"sourcesContent":["import { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, ModificationHandler } from '../ModificationHandler'\nimport { applyPatch, Operation } from 'rfc6902'\nimport deepCopy from '../../utils/deepCopy'\n\nexport class PatchAclSchemaModificationHandler implements ModificationHandler<PatchAclSchemaModificationData>{\n\tconstructor(private readonly data: PatchAclSchemaModificationData) {}\n\n\tpublic createSql(): void {}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => {\n\t\t\tconst acl = deepCopy(schema.acl)\n\t\t\tconst result = applyPatch(acl, this.data.patch).filter(it => it !== null)\n\t\t\tif (result.length > 0) {\n\t\t\t\tthrow result[0]\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...schema,\n\t\t\t\tacl,\n\t\t\t}\n\t\t}\n\t}\n\n\tdescribe() {\n\t\treturn { message: 'Update ACL schema' }\n\t}\n}\n\nexport const patchAclSchemaModification = createModificationType({\n\tid: 'patchAclSchema',\n\thandler: PatchAclSchemaModificationHandler,\n})\n\nexport interface PatchAclSchemaModificationData {\n\tpatch: Operation[]\n}\n"],"names":["applyPatch","createModificationType"],"mappings":";;;;;AAKO,MAAM,kCAAgG;AAAA,EAC5G,YAA6B,MAAsC;AAAtC,SAAA,OAAA;AAAA,EAAA;AAAA,EAEtB,YAAkB;AAAA,EAAA;AAAA,EAElB,mBAAkC;AACjC,WAAA,CAAC,EAAE,aAAa;AAChB,YAAA,MAAM,SAAS,OAAO,GAAG;AACzB,YAAA,SAASA,QAAAA,WAAW,KAAK,KAAK,KAAK,KAAK,EAAE,OAAO,CAAM,OAAA,OAAO,IAAI;AACpE,UAAA,OAAO,SAAS,GAAG;AACtB,cAAM,OAAO,CAAC;AAAA,MAAA;AAGR,aAAA;AAAA,QACN,GAAG;AAAA,QACH;AAAA,MACD;AAAA,IACD;AAAA,EAAA;AAAA,EAGD,WAAW;AACH,WAAA,EAAE,SAAS,oBAAoB;AAAA,EAAA;AAExC;AAEO,MAAM,6BAA6BC,oBAAAA,uBAAuB;AAAA,EAChE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PatchAclSchemaModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/acl/PatchAclSchemaModification.ts"],"sourcesContent":["import { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, ModificationHandler } from '../ModificationHandler'\nimport { applyPatch, Operation } from 'rfc6902'\nimport deepCopy from '../../utils/deepCopy'\n\nexport class PatchAclSchemaModificationHandler implements ModificationHandler<PatchAclSchemaModificationData>{\n\tconstructor(private readonly data: PatchAclSchemaModificationData) {}\n\n\tpublic createSql(): void {}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => {\n\t\t\tconst acl = deepCopy(schema.acl)\n\t\t\tconst result = applyPatch(acl, this.data.patch).filter(it => it !== null)\n\t\t\tif (result.length > 0) {\n\t\t\t\tthrow result[0]\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...schema,\n\t\t\t\tacl,\n\t\t\t}\n\t\t}\n\t}\n\n\tdescribe() {\n\t\treturn { message: 'Update ACL schema' }\n\t}\n}\n\nexport const patchAclSchemaModification = createModificationType({\n\tid: 'patchAclSchema',\n\thandler: PatchAclSchemaModificationHandler,\n})\n\nexport interface PatchAclSchemaModificationData {\n\tpatch: Operation[]\n}\n"],"names":[],"mappings":";;;AAKO,MAAM,kCAAgG;AAAA,EAC5G,YAA6B,MAAsC;AAAtC,SAAA,OAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"PatchAclSchemaModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/acl/PatchAclSchemaModification.ts"],"sourcesContent":["import { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, ModificationHandler } from '../ModificationHandler'\nimport { applyPatch, Operation } from 'rfc6902'\nimport deepCopy from '../../utils/deepCopy'\n\nexport class PatchAclSchemaModificationHandler implements ModificationHandler<PatchAclSchemaModificationData>{\n\tconstructor(private readonly data: PatchAclSchemaModificationData) {}\n\n\tpublic createSql(): void {}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => {\n\t\t\tconst acl = deepCopy(schema.acl)\n\t\t\tconst result = applyPatch(acl, this.data.patch).filter(it => it !== null)\n\t\t\tif (result.length > 0) {\n\t\t\t\tthrow result[0]\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...schema,\n\t\t\t\tacl,\n\t\t\t}\n\t\t}\n\t}\n\n\tdescribe() {\n\t\treturn { message: 'Update ACL schema' }\n\t}\n}\n\nexport const patchAclSchemaModification = createModificationType({\n\tid: 'patchAclSchema',\n\thandler: PatchAclSchemaModificationHandler,\n})\n\nexport interface PatchAclSchemaModificationData {\n\tpatch: Operation[]\n}\n"],"names":[],"mappings":";;;AAKO,MAAM,kCAAgG;AAAA,EAC5G,YAA6B,MAAsC;AAAtC,SAAA,OAAA;AAAA,EAAA;AAAA,EAEtB,YAAkB;AAAA,EAAA;AAAA,EAElB,mBAAkC;AACjC,WAAA,CAAC,EAAE,aAAa;AAChB,YAAA,MAAM,SAAS,OAAO,GAAG;AACzB,YAAA,SAAS,WAAW,KAAK,KAAK,KAAK,KAAK,EAAE,OAAO,CAAM,OAAA,OAAO,IAAI;AACpE,UAAA,OAAO,SAAS,GAAG;AACtB,cAAM,OAAO,CAAC;AAAA,MAAA;AAGR,aAAA;AAAA,QACN,GAAG;AAAA,QACH;AAAA,MACD;AAAA,IACD;AAAA,EAAA;AAAA,EAGD,WAAW;AACH,WAAA,EAAE,SAAS,oBAAoB;AAAA,EAAA;AAExC;AAEO,MAAM,6BAA6B,uBAAuB;AAAA,EAChE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateAclSchemaModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/acl/UpdateAclSchemaModification.ts"],"sourcesContent":["import { Acl, Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport deepEqual from 'fast-deep-equal'\nimport { createPatch } from 'rfc6902'\nimport { patchAclSchemaModification } from './PatchAclSchemaModification'\n\nexport class UpdateAclSchemaModificationHandler implements ModificationHandler<UpdateAclSchemaModificationData>{\n\tconstructor(private readonly data: UpdateAclSchemaModificationData) {}\n\n\tpublic createSql(): void {}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => ({\n\t\t\t...schema,\n\t\t\tacl: this.data.schema,\n\t\t})\n\t}\n\n\tdescribe() {\n\t\treturn { message: 'Update ACL schema' }\n\t}\n}\n\nexport interface UpdateAclSchemaModificationData {\n\tschema: Acl.Schema\n}\n\nexport const updateAclSchemaModification = createModificationType({\n\tid: 'updateAclSchema',\n\thandler: UpdateAclSchemaModificationHandler,\n})\n\nexport class UpdateAclSchemaDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\tif (deepEqual(originalSchema.acl, updatedSchema.acl)) {\n\t\t\treturn []\n\t\t}\n\t\tconst patch = createPatch(originalSchema.acl, updatedSchema.acl)\n\t\tif (patch.length <= 100) {\n\t\t\treturn [patchAclSchemaModification.createModification({ patch })]\n\t\t}\n\t\treturn [updateAclSchemaModification.createModification({ schema: updatedSchema.acl })]\n\t}\n}\n"],"names":["createModificationType","createPatch","patchAclSchemaModification"],"mappings":";;;;;;AAOO,MAAM,mCAAkG;AAAA,EAC9G,YAA6B,MAAuC;AAAvC,SAAA,OAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"UpdateAclSchemaModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/acl/UpdateAclSchemaModification.ts"],"sourcesContent":["import { Acl, Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport deepEqual from 'fast-deep-equal'\nimport { createPatch } from 'rfc6902'\nimport { patchAclSchemaModification } from './PatchAclSchemaModification'\n\nexport class UpdateAclSchemaModificationHandler implements ModificationHandler<UpdateAclSchemaModificationData>{\n\tconstructor(private readonly data: UpdateAclSchemaModificationData) {}\n\n\tpublic createSql(): void {}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => ({\n\t\t\t...schema,\n\t\t\tacl: this.data.schema,\n\t\t})\n\t}\n\n\tdescribe() {\n\t\treturn { message: 'Update ACL schema' }\n\t}\n}\n\nexport interface UpdateAclSchemaModificationData {\n\tschema: Acl.Schema\n}\n\nexport const updateAclSchemaModification = createModificationType({\n\tid: 'updateAclSchema',\n\thandler: UpdateAclSchemaModificationHandler,\n})\n\nexport class UpdateAclSchemaDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\tif (deepEqual(originalSchema.acl, updatedSchema.acl)) {\n\t\t\treturn []\n\t\t}\n\t\tconst patch = createPatch(originalSchema.acl, updatedSchema.acl)\n\t\tif (patch.length <= 100) {\n\t\t\treturn [patchAclSchemaModification.createModification({ patch })]\n\t\t}\n\t\treturn [updateAclSchemaModification.createModification({ schema: updatedSchema.acl })]\n\t}\n}\n"],"names":["createModificationType","createPatch","patchAclSchemaModification"],"mappings":";;;;;;AAOO,MAAM,mCAAkG;AAAA,EAC9G,YAA6B,MAAuC;AAAvC,SAAA,OAAA;AAAA,EAAA;AAAA,EAEtB,YAAkB;AAAA,EAAA;AAAA,EAElB,mBAAkC;AACjC,WAAA,CAAC,EAAE,cAAc;AAAA,MACvB,GAAG;AAAA,MACH,KAAK,KAAK,KAAK;AAAA,IAAA;AAAA,EAChB;AAAA,EAGD,WAAW;AACH,WAAA,EAAE,SAAS,oBAAoB;AAAA,EAAA;AAExC;AAMO,MAAM,8BAA8BA,oBAAAA,uBAAuB;AAAA,EACjE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,sBAAwC;AAAA,EACpD,WAAW,gBAAwB,eAAuB;AACzD,QAAI,UAAU,eAAe,KAAK,cAAc,GAAG,GAAG;AACrD,aAAO,CAAC;AAAA,IAAA;AAET,UAAM,QAAQC,QAAAA,YAAY,eAAe,KAAK,cAAc,GAAG;AAC3D,QAAA,MAAM,UAAU,KAAK;AACxB,aAAO,CAACC,2BAAAA,2BAA2B,mBAAmB,EAAE,MAAO,CAAA,CAAC;AAAA,IAAA;AAE1D,WAAA,CAAC,4BAA4B,mBAAmB,EAAE,QAAQ,cAAc,IAAA,CAAK,CAAC;AAAA,EAAA;AAEvF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateAclSchemaModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/acl/UpdateAclSchemaModification.ts"],"sourcesContent":["import { Acl, Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport deepEqual from 'fast-deep-equal'\nimport { createPatch } from 'rfc6902'\nimport { patchAclSchemaModification } from './PatchAclSchemaModification'\n\nexport class UpdateAclSchemaModificationHandler implements ModificationHandler<UpdateAclSchemaModificationData>{\n\tconstructor(private readonly data: UpdateAclSchemaModificationData) {}\n\n\tpublic createSql(): void {}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => ({\n\t\t\t...schema,\n\t\t\tacl: this.data.schema,\n\t\t})\n\t}\n\n\tdescribe() {\n\t\treturn { message: 'Update ACL schema' }\n\t}\n}\n\nexport interface UpdateAclSchemaModificationData {\n\tschema: Acl.Schema\n}\n\nexport const updateAclSchemaModification = createModificationType({\n\tid: 'updateAclSchema',\n\thandler: UpdateAclSchemaModificationHandler,\n})\n\nexport class UpdateAclSchemaDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\tif (deepEqual(originalSchema.acl, updatedSchema.acl)) {\n\t\t\treturn []\n\t\t}\n\t\tconst patch = createPatch(originalSchema.acl, updatedSchema.acl)\n\t\tif (patch.length <= 100) {\n\t\t\treturn [patchAclSchemaModification.createModification({ patch })]\n\t\t}\n\t\treturn [updateAclSchemaModification.createModification({ schema: updatedSchema.acl })]\n\t}\n}\n"],"names":[],"mappings":";;;;AAOO,MAAM,mCAAkG;AAAA,EAC9G,YAA6B,MAAuC;AAAvC,SAAA,OAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"UpdateAclSchemaModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/acl/UpdateAclSchemaModification.ts"],"sourcesContent":["import { Acl, Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport deepEqual from 'fast-deep-equal'\nimport { createPatch } from 'rfc6902'\nimport { patchAclSchemaModification } from './PatchAclSchemaModification'\n\nexport class UpdateAclSchemaModificationHandler implements ModificationHandler<UpdateAclSchemaModificationData>{\n\tconstructor(private readonly data: UpdateAclSchemaModificationData) {}\n\n\tpublic createSql(): void {}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => ({\n\t\t\t...schema,\n\t\t\tacl: this.data.schema,\n\t\t})\n\t}\n\n\tdescribe() {\n\t\treturn { message: 'Update ACL schema' }\n\t}\n}\n\nexport interface UpdateAclSchemaModificationData {\n\tschema: Acl.Schema\n}\n\nexport const updateAclSchemaModification = createModificationType({\n\tid: 'updateAclSchema',\n\thandler: UpdateAclSchemaModificationHandler,\n})\n\nexport class UpdateAclSchemaDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\tif (deepEqual(originalSchema.acl, updatedSchema.acl)) {\n\t\t\treturn []\n\t\t}\n\t\tconst patch = createPatch(originalSchema.acl, updatedSchema.acl)\n\t\tif (patch.length <= 100) {\n\t\t\treturn [patchAclSchemaModification.createModification({ patch })]\n\t\t}\n\t\treturn [updateAclSchemaModification.createModification({ schema: updatedSchema.acl })]\n\t}\n}\n"],"names":[],"mappings":";;;;AAOO,MAAM,mCAAkG;AAAA,EAC9G,YAA6B,MAAuC;AAAvC,SAAA,OAAA;AAAA,EAAA;AAAA,EAEtB,YAAkB;AAAA,EAAA;AAAA,EAElB,mBAAkC;AACjC,WAAA,CAAC,EAAE,cAAc;AAAA,MACvB,GAAG;AAAA,MACH,KAAK,KAAK,KAAK;AAAA,IAAA;AAAA,EAChB;AAAA,EAGD,WAAW;AACH,WAAA,EAAE,SAAS,oBAAoB;AAAA,EAAA;AAExC;AAMO,MAAM,8BAA8B,uBAAuB;AAAA,EACjE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,sBAAwC;AAAA,EACpD,WAAW,gBAAwB,eAAuB;AACzD,QAAI,UAAU,eAAe,KAAK,cAAc,GAAG,GAAG;AACrD,aAAO,CAAC;AAAA,IAAA;AAET,UAAM,QAAQ,YAAY,eAAe,KAAK,cAAc,GAAG;AAC3D,QAAA,MAAM,UAAU,KAAK;AACxB,aAAO,CAAC,2BAA2B,mBAAmB,EAAE,MAAO,CAAA,CAAC;AAAA,IAAA;AAE1D,WAAA,CAAC,4BAA4B,mBAAmB,EAAE,QAAQ,cAAc,IAAA,CAAK,CAAC;AAAA,EAAA;AAEvF;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateTargetModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/actions/CreateTargetModification.ts"],"sourcesContent":["import { Actions, Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class CreateTargetModificationHandler implements ModificationHandler<CreateTargetModificationData> {\n\tconstructor(private readonly data: CreateTargetModificationData) {\n\t}\n\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => ({\n\t\t\t...schema,\n\t\t\tactions: {\n\t\t\t\t...schema.actions,\n\t\t\t\ttargets: {\n\t\t\t\t\t...schema.actions.targets,\n\t\t\t\t\t[this.data.target.name]: this.data.target,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Create target ${this.data.target.name}` }\n\t}\n}\n\nexport interface CreateTargetModificationData {\n\ttarget: Actions.AnyTarget\n}\n\nexport const createTargetModification = createModificationType({\n\tid: 'createTarget',\n\thandler: CreateTargetModificationHandler,\n})\n\nexport class CreateTargetDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(updatedSchema.actions.targets)\n\t\t\t.filter(([name]) => !originalSchema.actions.targets[name])\n\t\t\t.map(([, target]) => createTargetModification.createModification({ target }))\n\t}\n}\n"],"names":["createModificationType"],"mappings":";;;AAIO,MAAM,gCAA6F;AAAA,EACzG,YAA6B,MAAoC;AAApC,SAAA,OAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"CreateTargetModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/actions/CreateTargetModification.ts"],"sourcesContent":["import { Actions, Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class CreateTargetModificationHandler implements ModificationHandler<CreateTargetModificationData> {\n\tconstructor(private readonly data: CreateTargetModificationData) {\n\t}\n\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => ({\n\t\t\t...schema,\n\t\t\tactions: {\n\t\t\t\t...schema.actions,\n\t\t\t\ttargets: {\n\t\t\t\t\t...schema.actions.targets,\n\t\t\t\t\t[this.data.target.name]: this.data.target,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Create target ${this.data.target.name}` }\n\t}\n}\n\nexport interface CreateTargetModificationData {\n\ttarget: Actions.AnyTarget\n}\n\nexport const createTargetModification = createModificationType({\n\tid: 'createTarget',\n\thandler: CreateTargetModificationHandler,\n})\n\nexport class CreateTargetDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(updatedSchema.actions.targets)\n\t\t\t.filter(([name]) => !originalSchema.actions.targets[name])\n\t\t\t.map(([, target]) => createTargetModification.createModification({ target }))\n\t}\n}\n"],"names":["createModificationType"],"mappings":";;;AAIO,MAAM,gCAA6F;AAAA,EACzG,YAA6B,MAAoC;AAApC,SAAA,OAAA;AAAA,EAAA;AAAA,EAGtB,YAAkB;AAAA,EAAA;AAAA,EAGlB,mBAAkC;AACjC,WAAA,CAAC,EAAE,cAAc;AAAA,MACvB,GAAG;AAAA,MACH,SAAS;AAAA,QACR,GAAG,OAAO;AAAA,QACV,SAAS;AAAA,UACR,GAAG,OAAO,QAAQ;AAAA,UAClB,CAAC,KAAK,KAAK,OAAO,IAAI,GAAG,KAAK,KAAK;AAAA,QAAA;AAAA,MACpC;AAAA,IACD;AAAA,EACD;AAAA,EAGD,WAAW;AACV,WAAO,EAAE,SAAS,iBAAiB,KAAK,KAAK,OAAO,IAAI,GAAG;AAAA,EAAA;AAE7D;AAMO,MAAM,2BAA2BA,oBAAAA,uBAAuB;AAAA,EAC9D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,mBAAqC;AAAA,EACjD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,QAAQ,cAAc,QAAQ,OAAO,EACjD,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,eAAe,QAAQ,QAAQ,IAAI,CAAC,EACxD,IAAI,CAAC,CAAA,EAAG,MAAM,MAAM,yBAAyB,mBAAmB,EAAE,OAAQ,CAAA,CAAC;AAAA,EAAA;AAE/E;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateTargetModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/actions/CreateTargetModification.ts"],"sourcesContent":["import { Actions, Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class CreateTargetModificationHandler implements ModificationHandler<CreateTargetModificationData> {\n\tconstructor(private readonly data: CreateTargetModificationData) {\n\t}\n\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => ({\n\t\t\t...schema,\n\t\t\tactions: {\n\t\t\t\t...schema.actions,\n\t\t\t\ttargets: {\n\t\t\t\t\t...schema.actions.targets,\n\t\t\t\t\t[this.data.target.name]: this.data.target,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Create target ${this.data.target.name}` }\n\t}\n}\n\nexport interface CreateTargetModificationData {\n\ttarget: Actions.AnyTarget\n}\n\nexport const createTargetModification = createModificationType({\n\tid: 'createTarget',\n\thandler: CreateTargetModificationHandler,\n})\n\nexport class CreateTargetDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(updatedSchema.actions.targets)\n\t\t\t.filter(([name]) => !originalSchema.actions.targets[name])\n\t\t\t.map(([, target]) => createTargetModification.createModification({ target }))\n\t}\n}\n"],"names":[],"mappings":";AAIO,MAAM,gCAA6F;AAAA,EACzG,YAA6B,MAAoC;AAApC,SAAA,OAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"CreateTargetModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/actions/CreateTargetModification.ts"],"sourcesContent":["import { Actions, Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class CreateTargetModificationHandler implements ModificationHandler<CreateTargetModificationData> {\n\tconstructor(private readonly data: CreateTargetModificationData) {\n\t}\n\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => ({\n\t\t\t...schema,\n\t\t\tactions: {\n\t\t\t\t...schema.actions,\n\t\t\t\ttargets: {\n\t\t\t\t\t...schema.actions.targets,\n\t\t\t\t\t[this.data.target.name]: this.data.target,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Create target ${this.data.target.name}` }\n\t}\n}\n\nexport interface CreateTargetModificationData {\n\ttarget: Actions.AnyTarget\n}\n\nexport const createTargetModification = createModificationType({\n\tid: 'createTarget',\n\thandler: CreateTargetModificationHandler,\n})\n\nexport class CreateTargetDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(updatedSchema.actions.targets)\n\t\t\t.filter(([name]) => !originalSchema.actions.targets[name])\n\t\t\t.map(([, target]) => createTargetModification.createModification({ target }))\n\t}\n}\n"],"names":[],"mappings":";AAIO,MAAM,gCAA6F;AAAA,EACzG,YAA6B,MAAoC;AAApC,SAAA,OAAA;AAAA,EAAA;AAAA,EAGtB,YAAkB;AAAA,EAAA;AAAA,EAGlB,mBAAkC;AACjC,WAAA,CAAC,EAAE,cAAc;AAAA,MACvB,GAAG;AAAA,MACH,SAAS;AAAA,QACR,GAAG,OAAO;AAAA,QACV,SAAS;AAAA,UACR,GAAG,OAAO,QAAQ;AAAA,UAClB,CAAC,KAAK,KAAK,OAAO,IAAI,GAAG,KAAK,KAAK;AAAA,QAAA;AAAA,MACpC;AAAA,IACD;AAAA,EACD;AAAA,EAGD,WAAW;AACV,WAAO,EAAE,SAAS,iBAAiB,KAAK,KAAK,OAAO,IAAI,GAAG;AAAA,EAAA;AAE7D;AAMO,MAAM,2BAA2B,uBAAuB;AAAA,EAC9D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,mBAAqC;AAAA,EACjD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,QAAQ,cAAc,QAAQ,OAAO,EACjD,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,eAAe,QAAQ,QAAQ,IAAI,CAAC,EACxD,IAAI,CAAC,CAAA,EAAG,MAAM,MAAM,yBAAyB,mBAAmB,EAAE,OAAQ,CAAA,CAAC;AAAA,EAAA;AAE/E;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateTriggerModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/actions/CreateTriggerModification.ts"],"sourcesContent":["import { Actions, Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class CreateTriggerModificationHandler implements ModificationHandler<CreateTriggerModificationData> {\n\tconstructor(private readonly data: CreateTriggerModificationData) {\n\t}\n\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => ({\n\t\t\t...schema,\n\t\t\tactions: {\n\t\t\t\t...schema.actions,\n\t\t\t\ttriggers: {\n\t\t\t\t\t...schema.actions.triggers,\n\t\t\t\t\t[this.data.trigger.name]: this.data.trigger,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Create trigger ${this.data.trigger.name}` }\n\t}\n}\n\nexport interface CreateTriggerModificationData {\n\ttrigger: Actions.AnyTrigger\n}\n\nexport const createTriggerModification = createModificationType({\n\tid: 'createTrigger',\n\thandler: CreateTriggerModificationHandler,\n})\n\nexport class CreateTriggerDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(updatedSchema.actions.triggers)\n\t\t\t.filter(([name]) => !originalSchema.actions.triggers[name])\n\t\t\t.map(([, trigger]) => createTriggerModification.createModification({ trigger }))\n\t}\n}\n"],"names":["createModificationType"],"mappings":";;;AAIO,MAAM,iCAA+F;AAAA,EAC3G,YAA6B,MAAqC;AAArC,SAAA,OAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"CreateTriggerModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/actions/CreateTriggerModification.ts"],"sourcesContent":["import { Actions, Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class CreateTriggerModificationHandler implements ModificationHandler<CreateTriggerModificationData> {\n\tconstructor(private readonly data: CreateTriggerModificationData) {\n\t}\n\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => ({\n\t\t\t...schema,\n\t\t\tactions: {\n\t\t\t\t...schema.actions,\n\t\t\t\ttriggers: {\n\t\t\t\t\t...schema.actions.triggers,\n\t\t\t\t\t[this.data.trigger.name]: this.data.trigger,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Create trigger ${this.data.trigger.name}` }\n\t}\n}\n\nexport interface CreateTriggerModificationData {\n\ttrigger: Actions.AnyTrigger\n}\n\nexport const createTriggerModification = createModificationType({\n\tid: 'createTrigger',\n\thandler: CreateTriggerModificationHandler,\n})\n\nexport class CreateTriggerDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(updatedSchema.actions.triggers)\n\t\t\t.filter(([name]) => !originalSchema.actions.triggers[name])\n\t\t\t.map(([, trigger]) => createTriggerModification.createModification({ trigger }))\n\t}\n}\n"],"names":["createModificationType"],"mappings":";;;AAIO,MAAM,iCAA+F;AAAA,EAC3G,YAA6B,MAAqC;AAArC,SAAA,OAAA;AAAA,EAAA;AAAA,EAGtB,YAAkB;AAAA,EAAA;AAAA,EAGlB,mBAAkC;AACjC,WAAA,CAAC,EAAE,cAAc;AAAA,MACvB,GAAG;AAAA,MACH,SAAS;AAAA,QACR,GAAG,OAAO;AAAA,QACV,UAAU;AAAA,UACT,GAAG,OAAO,QAAQ;AAAA,UAClB,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,KAAK,KAAK;AAAA,QAAA;AAAA,MACrC;AAAA,IACD;AAAA,EACD;AAAA,EAGD,WAAW;AACV,WAAO,EAAE,SAAS,kBAAkB,KAAK,KAAK,QAAQ,IAAI,GAAG;AAAA,EAAA;AAE/D;AAMO,MAAM,4BAA4BA,oBAAAA,uBAAuB;AAAA,EAC/D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,oBAAsC;AAAA,EAClD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,QAAQ,cAAc,QAAQ,QAAQ,EAClD,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,eAAe,QAAQ,SAAS,IAAI,CAAC,EACzD,IAAI,CAAC,CAAA,EAAG,OAAO,MAAM,0BAA0B,mBAAmB,EAAE,QAAS,CAAA,CAAC;AAAA,EAAA;AAElF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateTriggerModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/actions/CreateTriggerModification.ts"],"sourcesContent":["import { Actions, Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class CreateTriggerModificationHandler implements ModificationHandler<CreateTriggerModificationData> {\n\tconstructor(private readonly data: CreateTriggerModificationData) {\n\t}\n\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => ({\n\t\t\t...schema,\n\t\t\tactions: {\n\t\t\t\t...schema.actions,\n\t\t\t\ttriggers: {\n\t\t\t\t\t...schema.actions.triggers,\n\t\t\t\t\t[this.data.trigger.name]: this.data.trigger,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Create trigger ${this.data.trigger.name}` }\n\t}\n}\n\nexport interface CreateTriggerModificationData {\n\ttrigger: Actions.AnyTrigger\n}\n\nexport const createTriggerModification = createModificationType({\n\tid: 'createTrigger',\n\thandler: CreateTriggerModificationHandler,\n})\n\nexport class CreateTriggerDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(updatedSchema.actions.triggers)\n\t\t\t.filter(([name]) => !originalSchema.actions.triggers[name])\n\t\t\t.map(([, trigger]) => createTriggerModification.createModification({ trigger }))\n\t}\n}\n"],"names":[],"mappings":";AAIO,MAAM,iCAA+F;AAAA,EAC3G,YAA6B,MAAqC;AAArC,SAAA,OAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"CreateTriggerModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/actions/CreateTriggerModification.ts"],"sourcesContent":["import { Actions, Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class CreateTriggerModificationHandler implements ModificationHandler<CreateTriggerModificationData> {\n\tconstructor(private readonly data: CreateTriggerModificationData) {\n\t}\n\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => ({\n\t\t\t...schema,\n\t\t\tactions: {\n\t\t\t\t...schema.actions,\n\t\t\t\ttriggers: {\n\t\t\t\t\t...schema.actions.triggers,\n\t\t\t\t\t[this.data.trigger.name]: this.data.trigger,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Create trigger ${this.data.trigger.name}` }\n\t}\n}\n\nexport interface CreateTriggerModificationData {\n\ttrigger: Actions.AnyTrigger\n}\n\nexport const createTriggerModification = createModificationType({\n\tid: 'createTrigger',\n\thandler: CreateTriggerModificationHandler,\n})\n\nexport class CreateTriggerDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(updatedSchema.actions.triggers)\n\t\t\t.filter(([name]) => !originalSchema.actions.triggers[name])\n\t\t\t.map(([, trigger]) => createTriggerModification.createModification({ trigger }))\n\t}\n}\n"],"names":[],"mappings":";AAIO,MAAM,iCAA+F;AAAA,EAC3G,YAA6B,MAAqC;AAArC,SAAA,OAAA;AAAA,EAAA;AAAA,EAGtB,YAAkB;AAAA,EAAA;AAAA,EAGlB,mBAAkC;AACjC,WAAA,CAAC,EAAE,cAAc;AAAA,MACvB,GAAG;AAAA,MACH,SAAS;AAAA,QACR,GAAG,OAAO;AAAA,QACV,UAAU;AAAA,UACT,GAAG,OAAO,QAAQ;AAAA,UAClB,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,KAAK,KAAK;AAAA,QAAA;AAAA,MACrC;AAAA,IACD;AAAA,EACD;AAAA,EAGD,WAAW;AACV,WAAO,EAAE,SAAS,kBAAkB,KAAK,KAAK,QAAQ,IAAI,GAAG;AAAA,EAAA;AAE/D;AAMO,MAAM,4BAA4B,uBAAuB;AAAA,EAC/D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,oBAAsC;AAAA,EAClD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,QAAQ,cAAc,QAAQ,QAAQ,EAClD,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,eAAe,QAAQ,SAAS,IAAI,CAAC,EACzD,IAAI,CAAC,CAAA,EAAG,OAAO,MAAM,0BAA0B,mBAAmB,EAAE,QAAS,CAAA,CAAC;AAAA,EAAA;AAElF;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoveTargetModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/actions/RemoveTargetModification.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class RemoveTargetModificationHandler implements ModificationHandler<RemoveTargetModificationData> {\n\tconstructor(private readonly data: RemoveTargetModificationData) {\n\t}\n\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => {\n\t\t\tconst { [this.data.name]: _, ...targets } = schema.actions.targets\n\t\t\treturn ({\n\t\t\t\t...schema,\n\t\t\t\tactions: {\n\t\t\t\t\t...schema.actions,\n\t\t\t\t\ttargets,\n\t\t\t\t},\n\t\t\t})\n\t\t}\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Remove target ${this.data.name}` }\n\t}\n}\n\nexport interface RemoveTargetModificationData {\n\tname: string\n}\n\nexport const removeTargetModification = createModificationType({\n\tid: 'removeTarget',\n\thandler: RemoveTargetModificationHandler,\n})\n\nexport class RemoveTargetDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(originalSchema.actions.targets)\n\t\t\t.filter(([name]) => !updatedSchema.actions.targets[name])\n\t\t\t.map(([name]) => removeTargetModification.createModification({ name }))\n\t}\n}\n"],"names":["createModificationType"],"mappings":";;;AAIO,MAAM,gCAA6F;AAAA,EACzG,YAA6B,MAAoC;AAApC,SAAA,OAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"RemoveTargetModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/actions/RemoveTargetModification.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class RemoveTargetModificationHandler implements ModificationHandler<RemoveTargetModificationData> {\n\tconstructor(private readonly data: RemoveTargetModificationData) {\n\t}\n\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => {\n\t\t\tconst { [this.data.name]: _, ...targets } = schema.actions.targets\n\t\t\treturn ({\n\t\t\t\t...schema,\n\t\t\t\tactions: {\n\t\t\t\t\t...schema.actions,\n\t\t\t\t\ttargets,\n\t\t\t\t},\n\t\t\t})\n\t\t}\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Remove target ${this.data.name}` }\n\t}\n}\n\nexport interface RemoveTargetModificationData {\n\tname: string\n}\n\nexport const removeTargetModification = createModificationType({\n\tid: 'removeTarget',\n\thandler: RemoveTargetModificationHandler,\n})\n\nexport class RemoveTargetDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(originalSchema.actions.targets)\n\t\t\t.filter(([name]) => !updatedSchema.actions.targets[name])\n\t\t\t.map(([name]) => removeTargetModification.createModification({ name }))\n\t}\n}\n"],"names":["createModificationType"],"mappings":";;;AAIO,MAAM,gCAA6F;AAAA,EACzG,YAA6B,MAAoC;AAApC,SAAA,OAAA;AAAA,EAAA;AAAA,EAGtB,YAAkB;AAAA,EAAA;AAAA,EAGlB,mBAAkC;AACjC,WAAA,CAAC,EAAE,aAAa;AAChB,YAAA,EAAE,CAAC,KAAK,KAAK,IAAI,GAAG,GAAG,GAAG,QAAY,IAAA,OAAO,QAAQ;AACnD,aAAA;AAAA,QACP,GAAG;AAAA,QACH,SAAS;AAAA,UACR,GAAG,OAAO;AAAA,UACV;AAAA,QAAA;AAAA,MAEF;AAAA,IACD;AAAA,EAAA;AAAA,EAGD,WAAW;AACV,WAAO,EAAE,SAAS,iBAAiB,KAAK,KAAK,IAAI,GAAG;AAAA,EAAA;AAEtD;AAMO,MAAM,2BAA2BA,oBAAAA,uBAAuB;AAAA,EAC9D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,mBAAqC;AAAA,EACjD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,QAAQ,eAAe,QAAQ,OAAO,EAClD,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,cAAc,QAAQ,QAAQ,IAAI,CAAC,EACvD,IAAI,CAAC,CAAC,IAAI,MAAM,yBAAyB,mBAAmB,EAAE,KAAM,CAAA,CAAC;AAAA,EAAA;AAEzE;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoveTargetModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/actions/RemoveTargetModification.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class RemoveTargetModificationHandler implements ModificationHandler<RemoveTargetModificationData> {\n\tconstructor(private readonly data: RemoveTargetModificationData) {\n\t}\n\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => {\n\t\t\tconst { [this.data.name]: _, ...targets } = schema.actions.targets\n\t\t\treturn ({\n\t\t\t\t...schema,\n\t\t\t\tactions: {\n\t\t\t\t\t...schema.actions,\n\t\t\t\t\ttargets,\n\t\t\t\t},\n\t\t\t})\n\t\t}\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Remove target ${this.data.name}` }\n\t}\n}\n\nexport interface RemoveTargetModificationData {\n\tname: string\n}\n\nexport const removeTargetModification = createModificationType({\n\tid: 'removeTarget',\n\thandler: RemoveTargetModificationHandler,\n})\n\nexport class RemoveTargetDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(originalSchema.actions.targets)\n\t\t\t.filter(([name]) => !updatedSchema.actions.targets[name])\n\t\t\t.map(([name]) => removeTargetModification.createModification({ name }))\n\t}\n}\n"],"names":[],"mappings":";AAIO,MAAM,gCAA6F;AAAA,EACzG,YAA6B,MAAoC;AAApC,SAAA,OAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"RemoveTargetModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/actions/RemoveTargetModification.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class RemoveTargetModificationHandler implements ModificationHandler<RemoveTargetModificationData> {\n\tconstructor(private readonly data: RemoveTargetModificationData) {\n\t}\n\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => {\n\t\t\tconst { [this.data.name]: _, ...targets } = schema.actions.targets\n\t\t\treturn ({\n\t\t\t\t...schema,\n\t\t\t\tactions: {\n\t\t\t\t\t...schema.actions,\n\t\t\t\t\ttargets,\n\t\t\t\t},\n\t\t\t})\n\t\t}\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Remove target ${this.data.name}` }\n\t}\n}\n\nexport interface RemoveTargetModificationData {\n\tname: string\n}\n\nexport const removeTargetModification = createModificationType({\n\tid: 'removeTarget',\n\thandler: RemoveTargetModificationHandler,\n})\n\nexport class RemoveTargetDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(originalSchema.actions.targets)\n\t\t\t.filter(([name]) => !updatedSchema.actions.targets[name])\n\t\t\t.map(([name]) => removeTargetModification.createModification({ name }))\n\t}\n}\n"],"names":[],"mappings":";AAIO,MAAM,gCAA6F;AAAA,EACzG,YAA6B,MAAoC;AAApC,SAAA,OAAA;AAAA,EAAA;AAAA,EAGtB,YAAkB;AAAA,EAAA;AAAA,EAGlB,mBAAkC;AACjC,WAAA,CAAC,EAAE,aAAa;AAChB,YAAA,EAAE,CAAC,KAAK,KAAK,IAAI,GAAG,GAAG,GAAG,QAAY,IAAA,OAAO,QAAQ;AACnD,aAAA;AAAA,QACP,GAAG;AAAA,QACH,SAAS;AAAA,UACR,GAAG,OAAO;AAAA,UACV;AAAA,QAAA;AAAA,MAEF;AAAA,IACD;AAAA,EAAA;AAAA,EAGD,WAAW;AACV,WAAO,EAAE,SAAS,iBAAiB,KAAK,KAAK,IAAI,GAAG;AAAA,EAAA;AAEtD;AAMO,MAAM,2BAA2B,uBAAuB;AAAA,EAC9D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,mBAAqC;AAAA,EACjD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,QAAQ,eAAe,QAAQ,OAAO,EAClD,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,cAAc,QAAQ,QAAQ,IAAI,CAAC,EACvD,IAAI,CAAC,CAAC,IAAI,MAAM,yBAAyB,mBAAmB,EAAE,KAAM,CAAA,CAAC;AAAA,EAAA;AAEzE;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoveTriggerModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/actions/RemoveTriggerModification.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class RemoveTriggerModificationHandler implements ModificationHandler<RemoveTriggerModificationData> {\n\tconstructor(private readonly data: RemoveTriggerModificationData) {\n\t}\n\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => {\n\t\t\tconst { [this.data.name]: _, ...triggers } = schema.actions.triggers\n\t\t\treturn ({\n\t\t\t\t...schema,\n\t\t\t\tactions: {\n\t\t\t\t\t...schema.actions,\n\t\t\t\t\ttriggers,\n\t\t\t\t},\n\t\t\t})\n\t\t}\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Remove trigger ${this.data.name}` }\n\t}\n}\n\nexport interface RemoveTriggerModificationData {\n\tname: string\n}\n\nexport const removeTriggerModification = createModificationType({\n\tid: 'removeTrigger',\n\thandler: RemoveTriggerModificationHandler,\n})\n\nexport class RemoveTriggerDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(originalSchema.actions.triggers)\n\t\t\t.filter(([name]) => !updatedSchema.actions.triggers[name])\n\t\t\t.map(([name]) => removeTriggerModification.createModification({ name }))\n\t}\n}\n"],"names":["createModificationType"],"mappings":";;;AAIO,MAAM,iCAA+F;AAAA,EAC3G,YAA6B,MAAqC;AAArC,SAAA,OAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"RemoveTriggerModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/actions/RemoveTriggerModification.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class RemoveTriggerModificationHandler implements ModificationHandler<RemoveTriggerModificationData> {\n\tconstructor(private readonly data: RemoveTriggerModificationData) {\n\t}\n\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => {\n\t\t\tconst { [this.data.name]: _, ...triggers } = schema.actions.triggers\n\t\t\treturn ({\n\t\t\t\t...schema,\n\t\t\t\tactions: {\n\t\t\t\t\t...schema.actions,\n\t\t\t\t\ttriggers,\n\t\t\t\t},\n\t\t\t})\n\t\t}\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Remove trigger ${this.data.name}` }\n\t}\n}\n\nexport interface RemoveTriggerModificationData {\n\tname: string\n}\n\nexport const removeTriggerModification = createModificationType({\n\tid: 'removeTrigger',\n\thandler: RemoveTriggerModificationHandler,\n})\n\nexport class RemoveTriggerDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(originalSchema.actions.triggers)\n\t\t\t.filter(([name]) => !updatedSchema.actions.triggers[name])\n\t\t\t.map(([name]) => removeTriggerModification.createModification({ name }))\n\t}\n}\n"],"names":["createModificationType"],"mappings":";;;AAIO,MAAM,iCAA+F;AAAA,EAC3G,YAA6B,MAAqC;AAArC,SAAA,OAAA;AAAA,EAAA;AAAA,EAGtB,YAAkB;AAAA,EAAA;AAAA,EAGlB,mBAAkC;AACjC,WAAA,CAAC,EAAE,aAAa;AAChB,YAAA,EAAE,CAAC,KAAK,KAAK,IAAI,GAAG,GAAG,GAAG,SAAa,IAAA,OAAO,QAAQ;AACpD,aAAA;AAAA,QACP,GAAG;AAAA,QACH,SAAS;AAAA,UACR,GAAG,OAAO;AAAA,UACV;AAAA,QAAA;AAAA,MAEF;AAAA,IACD;AAAA,EAAA;AAAA,EAGD,WAAW;AACV,WAAO,EAAE,SAAS,kBAAkB,KAAK,KAAK,IAAI,GAAG;AAAA,EAAA;AAEvD;AAMO,MAAM,4BAA4BA,oBAAAA,uBAAuB;AAAA,EAC/D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,oBAAsC;AAAA,EAClD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,QAAQ,eAAe,QAAQ,QAAQ,EACnD,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,cAAc,QAAQ,SAAS,IAAI,CAAC,EACxD,IAAI,CAAC,CAAC,IAAI,MAAM,0BAA0B,mBAAmB,EAAE,KAAM,CAAA,CAAC;AAAA,EAAA;AAE1E;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoveTriggerModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/actions/RemoveTriggerModification.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class RemoveTriggerModificationHandler implements ModificationHandler<RemoveTriggerModificationData> {\n\tconstructor(private readonly data: RemoveTriggerModificationData) {\n\t}\n\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => {\n\t\t\tconst { [this.data.name]: _, ...triggers } = schema.actions.triggers\n\t\t\treturn ({\n\t\t\t\t...schema,\n\t\t\t\tactions: {\n\t\t\t\t\t...schema.actions,\n\t\t\t\t\ttriggers,\n\t\t\t\t},\n\t\t\t})\n\t\t}\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Remove trigger ${this.data.name}` }\n\t}\n}\n\nexport interface RemoveTriggerModificationData {\n\tname: string\n}\n\nexport const removeTriggerModification = createModificationType({\n\tid: 'removeTrigger',\n\thandler: RemoveTriggerModificationHandler,\n})\n\nexport class RemoveTriggerDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(originalSchema.actions.triggers)\n\t\t\t.filter(([name]) => !updatedSchema.actions.triggers[name])\n\t\t\t.map(([name]) => removeTriggerModification.createModification({ name }))\n\t}\n}\n"],"names":[],"mappings":";AAIO,MAAM,iCAA+F;AAAA,EAC3G,YAA6B,MAAqC;AAArC,SAAA,OAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"RemoveTriggerModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/actions/RemoveTriggerModification.ts"],"sourcesContent":["import { Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\n\nexport class RemoveTriggerModificationHandler implements ModificationHandler<RemoveTriggerModificationData> {\n\tconstructor(private readonly data: RemoveTriggerModificationData) {\n\t}\n\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => {\n\t\t\tconst { [this.data.name]: _, ...triggers } = schema.actions.triggers\n\t\t\treturn ({\n\t\t\t\t...schema,\n\t\t\t\tactions: {\n\t\t\t\t\t...schema.actions,\n\t\t\t\t\ttriggers,\n\t\t\t\t},\n\t\t\t})\n\t\t}\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Remove trigger ${this.data.name}` }\n\t}\n}\n\nexport interface RemoveTriggerModificationData {\n\tname: string\n}\n\nexport const removeTriggerModification = createModificationType({\n\tid: 'removeTrigger',\n\thandler: RemoveTriggerModificationHandler,\n})\n\nexport class RemoveTriggerDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(originalSchema.actions.triggers)\n\t\t\t.filter(([name]) => !updatedSchema.actions.triggers[name])\n\t\t\t.map(([name]) => removeTriggerModification.createModification({ name }))\n\t}\n}\n"],"names":[],"mappings":";AAIO,MAAM,iCAA+F;AAAA,EAC3G,YAA6B,MAAqC;AAArC,SAAA,OAAA;AAAA,EAAA;AAAA,EAGtB,YAAkB;AAAA,EAAA;AAAA,EAGlB,mBAAkC;AACjC,WAAA,CAAC,EAAE,aAAa;AAChB,YAAA,EAAE,CAAC,KAAK,KAAK,IAAI,GAAG,GAAG,GAAG,SAAa,IAAA,OAAO,QAAQ;AACpD,aAAA;AAAA,QACP,GAAG;AAAA,QACH,SAAS;AAAA,UACR,GAAG,OAAO;AAAA,UACV;AAAA,QAAA;AAAA,MAEF;AAAA,IACD;AAAA,EAAA;AAAA,EAGD,WAAW;AACV,WAAO,EAAE,SAAS,kBAAkB,KAAK,KAAK,IAAI,GAAG;AAAA,EAAA;AAEvD;AAMO,MAAM,4BAA4B,uBAAuB;AAAA,EAC/D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,oBAAsC;AAAA,EAClD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,QAAQ,eAAe,QAAQ,QAAQ,EACnD,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,cAAc,QAAQ,SAAS,IAAI,CAAC,EACxD,IAAI,CAAC,CAAC,IAAI,MAAM,0BAA0B,mBAAmB,EAAE,KAAM,CAAA,CAAC;AAAA,EAAA;AAE1E;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateTargetModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/actions/UpdateTargetModification.ts"],"sourcesContent":["import { Actions, Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport deepEqual from 'fast-deep-equal'\n\nexport class UpdateTargetModificationHandler implements ModificationHandler<UpdateTargetModificationData> {\n\tconstructor(private readonly data: UpdateTargetModificationData) {\n\t}\n\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => {\n\t\t\treturn ({\n\t\t\t\t...schema,\n\t\t\t\tactions: {\n\t\t\t\t\t...schema.actions,\n\t\t\t\t\ttargets: {\n\t\t\t\t\t\t...schema.actions.targets,\n\t\t\t\t\t\t[this.data.name]: this.data.target,\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: `Update target ${this.data.name}` }\n\t}\n}\n\nexport interface UpdateTargetModificationData {\n\tname: string\n\ttarget: Actions.AnyTarget\n}\n\nexport const updateTargetModification = createModificationType({\n\tid: 'updateTarget',\n\thandler: UpdateTargetModificationHandler,\n})\n\nexport class UpdateTargetDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(updatedSchema.actions.targets)\n\t\t\t.filter(([name, target]) => originalSchema.actions.targets[name] && !deepEqual(target, originalSchema.actions.targets[name]))\n\t\t\t.map(([name, target]) => updateTargetModification.createModification({ name, target }))\n\t}\n}\n"],"names":["createModificationType"],"mappings":";;;;AAKO,MAAM,gCAA6F;AAAA,EACzG,YAA6B,MAAoC;AAApC,SAAA,OAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"UpdateTargetModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/actions/UpdateTargetModification.ts"],"sourcesContent":["import { Actions, Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport deepEqual from 'fast-deep-equal'\n\nexport class UpdateTargetModificationHandler implements ModificationHandler<UpdateTargetModificationData> {\n\tconstructor(private readonly data: UpdateTargetModificationData) {\n\t}\n\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => {\n\t\t\treturn ({\n\t\t\t\t...schema,\n\t\t\t\tactions: {\n\t\t\t\t\t...schema.actions,\n\t\t\t\t\ttargets: {\n\t\t\t\t\t\t...schema.actions.targets,\n\t\t\t\t\t\t[this.data.name]: this.data.target,\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: `Update target ${this.data.name}` }\n\t}\n}\n\nexport interface UpdateTargetModificationData {\n\tname: string\n\ttarget: Actions.AnyTarget\n}\n\nexport const updateTargetModification = createModificationType({\n\tid: 'updateTarget',\n\thandler: UpdateTargetModificationHandler,\n})\n\nexport class UpdateTargetDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(updatedSchema.actions.targets)\n\t\t\t.filter(([name, target]) => originalSchema.actions.targets[name] && !deepEqual(target, originalSchema.actions.targets[name]))\n\t\t\t.map(([name, target]) => updateTargetModification.createModification({ name, target }))\n\t}\n}\n"],"names":["createModificationType"],"mappings":";;;;AAKO,MAAM,gCAA6F;AAAA,EACzG,YAA6B,MAAoC;AAApC,SAAA,OAAA;AAAA,EAAA;AAAA,EAGtB,YAAkB;AAAA,EAAA;AAAA,EAGlB,mBAAkC;AACjC,WAAA,CAAC,EAAE,aAAa;AACd,aAAA;AAAA,QACP,GAAG;AAAA,QACH,SAAS;AAAA,UACR,GAAG,OAAO;AAAA,UACV,SAAS;AAAA,YACR,GAAG,OAAO,QAAQ;AAAA,YAClB,CAAC,KAAK,KAAK,IAAI,GAAG,KAAK,KAAK;AAAA,UAAA;AAAA,QAC7B;AAAA,MAEF;AAAA,IACD;AAAA,EAAA;AAAA,EAGD,WAAW;AACV,WAAO,EAAE,SAAS,iBAAiB,KAAK,KAAK,IAAI,GAAG;AAAA,EAAA;AAEtD;AAOO,MAAM,2BAA2BA,oBAAAA,uBAAuB;AAAA,EAC9D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,mBAAqC;AAAA,EACjD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,QAAQ,cAAc,QAAQ,OAAO,EACjD,OAAO,CAAC,CAAC,MAAM,MAAM,MAAM,eAAe,QAAQ,QAAQ,IAAI,KAAK,CAAC,UAAU,QAAQ,eAAe,QAAQ,QAAQ,IAAI,CAAC,CAAC,EAC3H,IAAI,CAAC,CAAC,MAAM,MAAM,MAAM,yBAAyB,mBAAmB,EAAE,MAAM,OAAA,CAAQ,CAAC;AAAA,EAAA;AAEzF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateTargetModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/actions/UpdateTargetModification.ts"],"sourcesContent":["import { Actions, Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport deepEqual from 'fast-deep-equal'\n\nexport class UpdateTargetModificationHandler implements ModificationHandler<UpdateTargetModificationData> {\n\tconstructor(private readonly data: UpdateTargetModificationData) {\n\t}\n\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => {\n\t\t\treturn ({\n\t\t\t\t...schema,\n\t\t\t\tactions: {\n\t\t\t\t\t...schema.actions,\n\t\t\t\t\ttargets: {\n\t\t\t\t\t\t...schema.actions.targets,\n\t\t\t\t\t\t[this.data.name]: this.data.target,\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: `Update target ${this.data.name}` }\n\t}\n}\n\nexport interface UpdateTargetModificationData {\n\tname: string\n\ttarget: Actions.AnyTarget\n}\n\nexport const updateTargetModification = createModificationType({\n\tid: 'updateTarget',\n\thandler: UpdateTargetModificationHandler,\n})\n\nexport class UpdateTargetDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(updatedSchema.actions.targets)\n\t\t\t.filter(([name, target]) => originalSchema.actions.targets[name] && !deepEqual(target, originalSchema.actions.targets[name]))\n\t\t\t.map(([name, target]) => updateTargetModification.createModification({ name, target }))\n\t}\n}\n"],"names":[],"mappings":";;AAKO,MAAM,gCAA6F;AAAA,EACzG,YAA6B,MAAoC;AAApC,SAAA,OAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"UpdateTargetModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/actions/UpdateTargetModification.ts"],"sourcesContent":["import { Actions, Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport deepEqual from 'fast-deep-equal'\n\nexport class UpdateTargetModificationHandler implements ModificationHandler<UpdateTargetModificationData> {\n\tconstructor(private readonly data: UpdateTargetModificationData) {\n\t}\n\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => {\n\t\t\treturn ({\n\t\t\t\t...schema,\n\t\t\t\tactions: {\n\t\t\t\t\t...schema.actions,\n\t\t\t\t\ttargets: {\n\t\t\t\t\t\t...schema.actions.targets,\n\t\t\t\t\t\t[this.data.name]: this.data.target,\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: `Update target ${this.data.name}` }\n\t}\n}\n\nexport interface UpdateTargetModificationData {\n\tname: string\n\ttarget: Actions.AnyTarget\n}\n\nexport const updateTargetModification = createModificationType({\n\tid: 'updateTarget',\n\thandler: UpdateTargetModificationHandler,\n})\n\nexport class UpdateTargetDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(updatedSchema.actions.targets)\n\t\t\t.filter(([name, target]) => originalSchema.actions.targets[name] && !deepEqual(target, originalSchema.actions.targets[name]))\n\t\t\t.map(([name, target]) => updateTargetModification.createModification({ name, target }))\n\t}\n}\n"],"names":[],"mappings":";;AAKO,MAAM,gCAA6F;AAAA,EACzG,YAA6B,MAAoC;AAApC,SAAA,OAAA;AAAA,EAAA;AAAA,EAGtB,YAAkB;AAAA,EAAA;AAAA,EAGlB,mBAAkC;AACjC,WAAA,CAAC,EAAE,aAAa;AACd,aAAA;AAAA,QACP,GAAG;AAAA,QACH,SAAS;AAAA,UACR,GAAG,OAAO;AAAA,UACV,SAAS;AAAA,YACR,GAAG,OAAO,QAAQ;AAAA,YAClB,CAAC,KAAK,KAAK,IAAI,GAAG,KAAK,KAAK;AAAA,UAAA;AAAA,QAC7B;AAAA,MAEF;AAAA,IACD;AAAA,EAAA;AAAA,EAGD,WAAW;AACV,WAAO,EAAE,SAAS,iBAAiB,KAAK,KAAK,IAAI,GAAG;AAAA,EAAA;AAEtD;AAOO,MAAM,2BAA2B,uBAAuB;AAAA,EAC9D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,mBAAqC;AAAA,EACjD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,QAAQ,cAAc,QAAQ,OAAO,EACjD,OAAO,CAAC,CAAC,MAAM,MAAM,MAAM,eAAe,QAAQ,QAAQ,IAAI,KAAK,CAAC,UAAU,QAAQ,eAAe,QAAQ,QAAQ,IAAI,CAAC,CAAC,EAC3H,IAAI,CAAC,CAAC,MAAM,MAAM,MAAM,yBAAyB,mBAAmB,EAAE,MAAM,OAAA,CAAQ,CAAC;AAAA,EAAA;AAEzF;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateTriggerModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/actions/UpdateTriggerModification.ts"],"sourcesContent":["import { Actions, Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport deepEqual from 'fast-deep-equal'\n\nexport class UpdateTriggerModificationHandler implements ModificationHandler<UpdateTriggerModificationData> {\n\tconstructor(private readonly data: UpdateTriggerModificationData) {\n\t}\n\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => {\n\t\t\treturn ({\n\t\t\t\t...schema,\n\t\t\t\tactions: {\n\t\t\t\t\t...schema.actions,\n\t\t\t\t\ttriggers: {\n\t\t\t\t\t\t...schema.actions.triggers,\n\t\t\t\t\t\t[this.data.trigger.name]: this.data.trigger,\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: `Update trigger ${this.data.trigger.name}` }\n\t}\n}\n\nexport interface UpdateTriggerModificationData {\n\ttrigger: Actions.AnyTrigger\n}\n\nexport const updateTriggerModification = createModificationType({\n\tid: 'updateTrigger',\n\thandler: UpdateTriggerModificationHandler,\n})\n\nexport class UpdateTriggerDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(updatedSchema.actions.triggers)\n\t\t\t.filter(([name, trigger]) => originalSchema.actions.triggers[name] && !deepEqual(trigger, originalSchema.actions.triggers[name]))\n\t\t\t.map(([, trigger]) => updateTriggerModification.createModification({ trigger }))\n\t}\n}\n"],"names":["createModificationType"],"mappings":";;;;AAKO,MAAM,iCAA+F;AAAA,EAC3G,YAA6B,MAAqC;AAArC,SAAA,OAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"UpdateTriggerModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/actions/UpdateTriggerModification.ts"],"sourcesContent":["import { Actions, Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport deepEqual from 'fast-deep-equal'\n\nexport class UpdateTriggerModificationHandler implements ModificationHandler<UpdateTriggerModificationData> {\n\tconstructor(private readonly data: UpdateTriggerModificationData) {\n\t}\n\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => {\n\t\t\treturn ({\n\t\t\t\t...schema,\n\t\t\t\tactions: {\n\t\t\t\t\t...schema.actions,\n\t\t\t\t\ttriggers: {\n\t\t\t\t\t\t...schema.actions.triggers,\n\t\t\t\t\t\t[this.data.trigger.name]: this.data.trigger,\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: `Update trigger ${this.data.trigger.name}` }\n\t}\n}\n\nexport interface UpdateTriggerModificationData {\n\ttrigger: Actions.AnyTrigger\n}\n\nexport const updateTriggerModification = createModificationType({\n\tid: 'updateTrigger',\n\thandler: UpdateTriggerModificationHandler,\n})\n\nexport class UpdateTriggerDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(updatedSchema.actions.triggers)\n\t\t\t.filter(([name, trigger]) => originalSchema.actions.triggers[name] && !deepEqual(trigger, originalSchema.actions.triggers[name]))\n\t\t\t.map(([, trigger]) => updateTriggerModification.createModification({ trigger }))\n\t}\n}\n"],"names":["createModificationType"],"mappings":";;;;AAKO,MAAM,iCAA+F;AAAA,EAC3G,YAA6B,MAAqC;AAArC,SAAA,OAAA;AAAA,EAAA;AAAA,EAGtB,YAAkB;AAAA,EAAA;AAAA,EAGlB,mBAAkC;AACjC,WAAA,CAAC,EAAE,aAAa;AACd,aAAA;AAAA,QACP,GAAG;AAAA,QACH,SAAS;AAAA,UACR,GAAG,OAAO;AAAA,UACV,UAAU;AAAA,YACT,GAAG,OAAO,QAAQ;AAAA,YAClB,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,KAAK,KAAK;AAAA,UAAA;AAAA,QACrC;AAAA,MAEF;AAAA,IACD;AAAA,EAAA;AAAA,EAGD,WAAW;AACV,WAAO,EAAE,SAAS,kBAAkB,KAAK,KAAK,QAAQ,IAAI,GAAG;AAAA,EAAA;AAE/D;AAMO,MAAM,4BAA4BA,oBAAAA,uBAAuB;AAAA,EAC/D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,oBAAsC;AAAA,EAClD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,QAAQ,cAAc,QAAQ,QAAQ,EAClD,OAAO,CAAC,CAAC,MAAM,OAAO,MAAM,eAAe,QAAQ,SAAS,IAAI,KAAK,CAAC,UAAU,SAAS,eAAe,QAAQ,SAAS,IAAI,CAAC,CAAC,EAC/H,IAAI,CAAC,CAAA,EAAG,OAAO,MAAM,0BAA0B,mBAAmB,EAAE,QAAA,CAAS,CAAC;AAAA,EAAA;AAElF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateTriggerModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/actions/UpdateTriggerModification.ts"],"sourcesContent":["import { Actions, Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport deepEqual from 'fast-deep-equal'\n\nexport class UpdateTriggerModificationHandler implements ModificationHandler<UpdateTriggerModificationData> {\n\tconstructor(private readonly data: UpdateTriggerModificationData) {\n\t}\n\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => {\n\t\t\treturn ({\n\t\t\t\t...schema,\n\t\t\t\tactions: {\n\t\t\t\t\t...schema.actions,\n\t\t\t\t\ttriggers: {\n\t\t\t\t\t\t...schema.actions.triggers,\n\t\t\t\t\t\t[this.data.trigger.name]: this.data.trigger,\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: `Update trigger ${this.data.trigger.name}` }\n\t}\n}\n\nexport interface UpdateTriggerModificationData {\n\ttrigger: Actions.AnyTrigger\n}\n\nexport const updateTriggerModification = createModificationType({\n\tid: 'updateTrigger',\n\thandler: UpdateTriggerModificationHandler,\n})\n\nexport class UpdateTriggerDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(updatedSchema.actions.triggers)\n\t\t\t.filter(([name, trigger]) => originalSchema.actions.triggers[name] && !deepEqual(trigger, originalSchema.actions.triggers[name]))\n\t\t\t.map(([, trigger]) => updateTriggerModification.createModification({ trigger }))\n\t}\n}\n"],"names":[],"mappings":";;AAKO,MAAM,iCAA+F;AAAA,EAC3G,YAA6B,MAAqC;AAArC,SAAA,OAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"UpdateTriggerModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/actions/UpdateTriggerModification.ts"],"sourcesContent":["import { Actions, Schema } from '@contember/schema'\nimport { SchemaUpdater } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport deepEqual from 'fast-deep-equal'\n\nexport class UpdateTriggerModificationHandler implements ModificationHandler<UpdateTriggerModificationData> {\n\tconstructor(private readonly data: UpdateTriggerModificationData) {\n\t}\n\n\tpublic createSql(): void {\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn ({ schema }) => {\n\t\t\treturn ({\n\t\t\t\t...schema,\n\t\t\t\tactions: {\n\t\t\t\t\t...schema.actions,\n\t\t\t\t\ttriggers: {\n\t\t\t\t\t\t...schema.actions.triggers,\n\t\t\t\t\t\t[this.data.trigger.name]: this.data.trigger,\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: `Update trigger ${this.data.trigger.name}` }\n\t}\n}\n\nexport interface UpdateTriggerModificationData {\n\ttrigger: Actions.AnyTrigger\n}\n\nexport const updateTriggerModification = createModificationType({\n\tid: 'updateTrigger',\n\thandler: UpdateTriggerModificationHandler,\n})\n\nexport class UpdateTriggerDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn Object.entries(updatedSchema.actions.triggers)\n\t\t\t.filter(([name, trigger]) => originalSchema.actions.triggers[name] && !deepEqual(trigger, originalSchema.actions.triggers[name]))\n\t\t\t.map(([, trigger]) => updateTriggerModification.createModification({ trigger }))\n\t}\n}\n"],"names":[],"mappings":";;AAKO,MAAM,iCAA+F;AAAA,EAC3G,YAA6B,MAAqC;AAArC,SAAA,OAAA;AAAA,EAAA;AAAA,EAGtB,YAAkB;AAAA,EAAA;AAAA,EAGlB,mBAAkC;AACjC,WAAA,CAAC,EAAE,aAAa;AACd,aAAA;AAAA,QACP,GAAG;AAAA,QACH,SAAS;AAAA,UACR,GAAG,OAAO;AAAA,UACV,UAAU;AAAA,YACT,GAAG,OAAO,QAAQ;AAAA,YAClB,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,KAAK,KAAK;AAAA,UAAA;AAAA,QACrC;AAAA,MAEF;AAAA,IACD;AAAA,EAAA;AAAA,EAGD,WAAW;AACV,WAAO,EAAE,SAAS,kBAAkB,KAAK,KAAK,QAAQ,IAAI,GAAG;AAAA,EAAA;AAE/D;AAMO,MAAM,4BAA4B,uBAAuB;AAAA,EAC/D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,oBAAsC;AAAA,EAClD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,OAAO,QAAQ,cAAc,QAAQ,QAAQ,EAClD,OAAO,CAAC,CAAC,MAAM,OAAO,MAAM,eAAe,QAAQ,SAAS,IAAI,KAAK,CAAC,UAAU,SAAS,eAAe,QAAQ,SAAS,IAAI,CAAC,CAAC,EAC/H,IAAI,CAAC,CAAA,EAAG,OAAO,MAAM,0BAA0B,mBAAmB,EAAE,QAAA,CAAS,CAAC;AAAA,EAAA;AAElF;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateColumnModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/columns/CreateColumnModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { JSONValue, Model, Schema } from '@contember/schema'\nimport { addField, SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport { isColumn } from '@contember/schema-utils'\nimport { createFields } from '../utils/diffUtils'\nimport { getColumnSqlType } from '../utils/columnUtils'\nimport { fillSeed, formatSeedExpression } from './columnUtils'\n\nexport class CreateColumnModificationHandler implements ModificationHandler<CreateColumnModificationData> {\n\tconstructor(private readonly data: CreateColumnModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\t\tconst column = this.data.field\n\n\t\tconst columnType = getColumnSqlType(column)\n\n\t\tconst seedExpression = formatSeedExpression({\n\t\t\tmodel: this.schema.model,\n\t\t\tentity,\n\t\t\tcolumnType,\n\t\t\tfillValue: this.data.fillValue,\n\t\t\tcopyValue: this.data.copyValue,\n\t\t})\n\n\n\t\tbuilder.addColumn(entity.tableName, {\n\t\t\t[column.columnName]: {\n\t\t\t\ttype: columnType,\n\t\t\t\tnotNull: !column.nullable && seedExpression === null,\n\t\t\t\tsequenceGenerated: column.sequence,\n\t\t\t},\n\t\t})\n\n\t\tif (seedExpression !== null) {\n\t\t\tif (this.data.valueMigrationStrategy === 'using') {\n\t\t\t\tbuilder.alterColumn(entity.tableName, column.columnName, {\n\t\t\t\t\tnotNull: !column.nullable ? true : undefined,\n\t\t\t\t\ttype: columnType,\n\t\t\t\t\tusing: seedExpression,\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tfillSeed({\n\t\t\t\t\tbuilder,\n\t\t\t\t\ttype: 'creating',\n\t\t\t\t\tentity,\n\t\t\t\t\tcolumnName: column.columnName,\n\t\t\t\t\tnullable: column.nullable,\n\t\t\t\t\tseedExpression,\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(updateEntity(this.data.entityName, addField(this.data.field)))\n\t}\n\n\tdescribe({ createdEntities }: { createdEntities: string[] }) {\n\t\tconst notNull = !this.data.field.nullable\n\t\tconst hasValue = this.data.fillValue !== undefined || this.data.copyValue !== undefined\n\t\tconst failureWarning =\n\t\t\tnotNull && !hasValue && !createdEntities.includes(this.data.entityName)\n\t\t\t\t? 'May fail in runtime, because column is not-null. Consider setting fillValue or copyValue'\n\t\t\t\t: undefined\n\t\treturn { message: `Add field ${this.data.entityName}.${this.data.field.name}`, failureWarning }\n\t}\n}\n\nexport interface CreateColumnModificationData {\n\tentityName: string\n\tfield: Model.AnyColumn\n\tfillValue?: JSONValue\n\tcopyValue?: string\n\tvalueMigrationStrategy?: 'using' | 'update'\n}\n\n\nexport const createColumnModification = createModificationType({\n\tid: 'createColumn',\n\thandler: CreateColumnModificationHandler,\n})\n\nexport class CreateColumnDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn createFields(originalSchema, updatedSchema, ({ newField, updatedEntity }) => {\n\t\t\tif (!isColumn(newField)) {\n\t\t\t\treturn undefined\n\t\t\t}\n\t\t\treturn createColumnModification.createModification({\n\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\tfield: newField,\n\t\t\t\t...(newField.default !== undefined ? { fillValue: newField.default, valueMigrationStrategy: 'using' } : {}),\n\t\t\t})\n\t\t})\n\t}\n}\n"],"names":["getColumnSqlType","formatSeedExpression","fillSeed","updateModel","updateEntity","addField","createModificationType","createFields","isColumn"],"mappings":";;;;;;;;AASO,MAAM,gCAA6F;AAAA,EACzG,YAA6B,MAAqD,QAAgB;AAArE,SAAA,OAAA;AAAqD,SAAA,SAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"CreateColumnModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/columns/CreateColumnModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { JSONValue, Model, Schema } from '@contember/schema'\nimport { addField, SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport { isColumn } from '@contember/schema-utils'\nimport { createFields } from '../utils/diffUtils'\nimport { getColumnSqlType } from '../utils/columnUtils'\nimport { fillSeed, formatSeedExpression } from './columnUtils'\n\nexport class CreateColumnModificationHandler implements ModificationHandler<CreateColumnModificationData> {\n\tconstructor(private readonly data: CreateColumnModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\t\tconst column = this.data.field\n\n\t\tconst columnType = getColumnSqlType(column)\n\n\t\tconst seedExpression = formatSeedExpression({\n\t\t\tmodel: this.schema.model,\n\t\t\tentity,\n\t\t\tcolumnType,\n\t\t\tfillValue: this.data.fillValue,\n\t\t\tcopyValue: this.data.copyValue,\n\t\t})\n\n\n\t\tbuilder.addColumn(entity.tableName, {\n\t\t\t[column.columnName]: {\n\t\t\t\ttype: columnType,\n\t\t\t\tnotNull: !column.nullable && seedExpression === null,\n\t\t\t\tsequenceGenerated: column.sequence,\n\t\t\t},\n\t\t})\n\n\t\tif (seedExpression !== null) {\n\t\t\tif (this.data.valueMigrationStrategy === 'using') {\n\t\t\t\tbuilder.alterColumn(entity.tableName, column.columnName, {\n\t\t\t\t\tnotNull: !column.nullable ? true : undefined,\n\t\t\t\t\ttype: columnType,\n\t\t\t\t\tusing: seedExpression,\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tfillSeed({\n\t\t\t\t\tbuilder,\n\t\t\t\t\ttype: 'creating',\n\t\t\t\t\tentity,\n\t\t\t\t\tcolumnName: column.columnName,\n\t\t\t\t\tnullable: column.nullable,\n\t\t\t\t\tseedExpression,\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(updateEntity(this.data.entityName, addField(this.data.field)))\n\t}\n\n\tdescribe({ createdEntities }: { createdEntities: string[] }) {\n\t\tconst notNull = !this.data.field.nullable\n\t\tconst hasValue = this.data.fillValue !== undefined || this.data.copyValue !== undefined\n\t\tconst failureWarning =\n\t\t\tnotNull && !hasValue && !createdEntities.includes(this.data.entityName)\n\t\t\t\t? 'May fail in runtime, because column is not-null. Consider setting fillValue or copyValue'\n\t\t\t\t: undefined\n\t\treturn { message: `Add field ${this.data.entityName}.${this.data.field.name}`, failureWarning }\n\t}\n}\n\nexport interface CreateColumnModificationData {\n\tentityName: string\n\tfield: Model.AnyColumn\n\tfillValue?: JSONValue\n\tcopyValue?: string\n\tvalueMigrationStrategy?: 'using' | 'update'\n}\n\n\nexport const createColumnModification = createModificationType({\n\tid: 'createColumn',\n\thandler: CreateColumnModificationHandler,\n})\n\nexport class CreateColumnDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn createFields(originalSchema, updatedSchema, ({ newField, updatedEntity }) => {\n\t\t\tif (!isColumn(newField)) {\n\t\t\t\treturn undefined\n\t\t\t}\n\t\t\treturn createColumnModification.createModification({\n\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\tfield: newField,\n\t\t\t\t...(newField.default !== undefined ? { fillValue: newField.default, valueMigrationStrategy: 'using' } : {}),\n\t\t\t})\n\t\t})\n\t}\n}\n"],"names":["getColumnSqlType","formatSeedExpression","fillSeed","updateModel","updateEntity","addField","createModificationType","createFields","isColumn"],"mappings":";;;;;;;;AASO,MAAM,gCAA6F;AAAA,EACzG,YAA6B,MAAqD,QAAgB;AAArE,SAAA,OAAA;AAAqD,SAAA,SAAA;AAAA,EAAA;AAAA,EAE3E,UAAU,SAAiC;AACjD,UAAM,SAAS,KAAK,OAAO,MAAM,SAAS,KAAK,KAAK,UAAU;AAC9D,QAAI,OAAO,MAAM;AAChB;AAAA,IAAA;AAEK,UAAA,SAAS,KAAK,KAAK;AAEnB,UAAA,aAAaA,6BAAiB,MAAM;AAE1C,UAAM,iBAAiBC,cAAAA,qBAAqB;AAAA,MAC3C,OAAO,KAAK,OAAO;AAAA,MACnB;AAAA,MACA;AAAA,MACA,WAAW,KAAK,KAAK;AAAA,MACrB,WAAW,KAAK,KAAK;AAAA,IAAA,CACrB;AAGO,YAAA,UAAU,OAAO,WAAW;AAAA,MACnC,CAAC,OAAO,UAAU,GAAG;AAAA,QACpB,MAAM;AAAA,QACN,SAAS,CAAC,OAAO,YAAY,mBAAmB;AAAA,QAChD,mBAAmB,OAAO;AAAA,MAAA;AAAA,IAC3B,CACA;AAED,QAAI,mBAAmB,MAAM;AACxB,UAAA,KAAK,KAAK,2BAA2B,SAAS;AACjD,gBAAQ,YAAY,OAAO,WAAW,OAAO,YAAY;AAAA,UACxD,SAAS,CAAC,OAAO,WAAW,OAAO;AAAA,UACnC,MAAM;AAAA,UACN,OAAO;AAAA,QAAA,CACP;AAAA,MAAA,OACK;AACGC,+BAAA;AAAA,UACR;AAAA,UACA,MAAM;AAAA,UACN;AAAA,UACA,YAAY,OAAO;AAAA,UACnB,UAAU,OAAO;AAAA,UACjB;AAAA,QAAA,CACA;AAAA,MAAA;AAAA,IACF;AAAA,EACD;AAAA,EAGM,mBAAkC;AACjC,WAAAC,8BAAYC,kBAAAA,aAAa,KAAK,KAAK,YAAYC,2BAAS,KAAK,KAAK,KAAK,CAAC,CAAC;AAAA,EAAA;AAAA,EAGjF,SAAS,EAAE,mBAAkD;AAC5D,UAAM,UAAU,CAAC,KAAK,KAAK,MAAM;AACjC,UAAM,WAAW,KAAK,KAAK,cAAc,UAAa,KAAK,KAAK,cAAc;AACxE,UAAA,iBACL,WAAW,CAAC,YAAY,CAAC,gBAAgB,SAAS,KAAK,KAAK,UAAU,IACnE,6FACA;AACJ,WAAO,EAAE,SAAS,aAAa,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,MAAM,IAAI,IAAI,eAAe;AAAA,EAAA;AAEhG;AAWO,MAAM,2BAA2BC,oBAAAA,uBAAuB;AAAA,EAC9D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,mBAAqC;AAAA,EACjD,WAAW,gBAAwB,eAAuB;AACzD,WAAOC,UAAAA,aAAa,gBAAgB,eAAe,CAAC,EAAE,UAAU,oBAAoB;AAC/E,UAAA,CAACC,YAAAA,SAAS,QAAQ,GAAG;AACjB,eAAA;AAAA,MAAA;AAER,aAAO,yBAAyB,mBAAmB;AAAA,QAClD,YAAY,cAAc;AAAA,QAC1B,OAAO;AAAA,QACP,GAAI,SAAS,YAAY,SAAY,EAAE,WAAW,SAAS,SAAS,wBAAwB,YAAY,CAAA;AAAA,MAAC,CACzG;AAAA,IAAA,CACD;AAAA,EAAA;AAEH;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateColumnModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/columns/CreateColumnModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { JSONValue, Model, Schema } from '@contember/schema'\nimport { addField, SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport { isColumn } from '@contember/schema-utils'\nimport { createFields } from '../utils/diffUtils'\nimport { getColumnSqlType } from '../utils/columnUtils'\nimport { fillSeed, formatSeedExpression } from './columnUtils'\n\nexport class CreateColumnModificationHandler implements ModificationHandler<CreateColumnModificationData> {\n\tconstructor(private readonly data: CreateColumnModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\t\tconst column = this.data.field\n\n\t\tconst columnType = getColumnSqlType(column)\n\n\t\tconst seedExpression = formatSeedExpression({\n\t\t\tmodel: this.schema.model,\n\t\t\tentity,\n\t\t\tcolumnType,\n\t\t\tfillValue: this.data.fillValue,\n\t\t\tcopyValue: this.data.copyValue,\n\t\t})\n\n\n\t\tbuilder.addColumn(entity.tableName, {\n\t\t\t[column.columnName]: {\n\t\t\t\ttype: columnType,\n\t\t\t\tnotNull: !column.nullable && seedExpression === null,\n\t\t\t\tsequenceGenerated: column.sequence,\n\t\t\t},\n\t\t})\n\n\t\tif (seedExpression !== null) {\n\t\t\tif (this.data.valueMigrationStrategy === 'using') {\n\t\t\t\tbuilder.alterColumn(entity.tableName, column.columnName, {\n\t\t\t\t\tnotNull: !column.nullable ? true : undefined,\n\t\t\t\t\ttype: columnType,\n\t\t\t\t\tusing: seedExpression,\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tfillSeed({\n\t\t\t\t\tbuilder,\n\t\t\t\t\ttype: 'creating',\n\t\t\t\t\tentity,\n\t\t\t\t\tcolumnName: column.columnName,\n\t\t\t\t\tnullable: column.nullable,\n\t\t\t\t\tseedExpression,\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(updateEntity(this.data.entityName, addField(this.data.field)))\n\t}\n\n\tdescribe({ createdEntities }: { createdEntities: string[] }) {\n\t\tconst notNull = !this.data.field.nullable\n\t\tconst hasValue = this.data.fillValue !== undefined || this.data.copyValue !== undefined\n\t\tconst failureWarning =\n\t\t\tnotNull && !hasValue && !createdEntities.includes(this.data.entityName)\n\t\t\t\t? 'May fail in runtime, because column is not-null. Consider setting fillValue or copyValue'\n\t\t\t\t: undefined\n\t\treturn { message: `Add field ${this.data.entityName}.${this.data.field.name}`, failureWarning }\n\t}\n}\n\nexport interface CreateColumnModificationData {\n\tentityName: string\n\tfield: Model.AnyColumn\n\tfillValue?: JSONValue\n\tcopyValue?: string\n\tvalueMigrationStrategy?: 'using' | 'update'\n}\n\n\nexport const createColumnModification = createModificationType({\n\tid: 'createColumn',\n\thandler: CreateColumnModificationHandler,\n})\n\nexport class CreateColumnDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn createFields(originalSchema, updatedSchema, ({ newField, updatedEntity }) => {\n\t\t\tif (!isColumn(newField)) {\n\t\t\t\treturn undefined\n\t\t\t}\n\t\t\treturn createColumnModification.createModification({\n\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\tfield: newField,\n\t\t\t\t...(newField.default !== undefined ? { fillValue: newField.default, valueMigrationStrategy: 'using' } : {}),\n\t\t\t})\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;;;;;AASO,MAAM,gCAA6F;AAAA,EACzG,YAA6B,MAAqD,QAAgB;AAArE,SAAA,OAAA;AAAqD,SAAA,SAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"CreateColumnModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/columns/CreateColumnModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { JSONValue, Model, Schema } from '@contember/schema'\nimport { addField, SchemaUpdater, updateEntity, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport { isColumn } from '@contember/schema-utils'\nimport { createFields } from '../utils/diffUtils'\nimport { getColumnSqlType } from '../utils/columnUtils'\nimport { fillSeed, formatSeedExpression } from './columnUtils'\n\nexport class CreateColumnModificationHandler implements ModificationHandler<CreateColumnModificationData> {\n\tconstructor(private readonly data: CreateColumnModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\t\tconst column = this.data.field\n\n\t\tconst columnType = getColumnSqlType(column)\n\n\t\tconst seedExpression = formatSeedExpression({\n\t\t\tmodel: this.schema.model,\n\t\t\tentity,\n\t\t\tcolumnType,\n\t\t\tfillValue: this.data.fillValue,\n\t\t\tcopyValue: this.data.copyValue,\n\t\t})\n\n\n\t\tbuilder.addColumn(entity.tableName, {\n\t\t\t[column.columnName]: {\n\t\t\t\ttype: columnType,\n\t\t\t\tnotNull: !column.nullable && seedExpression === null,\n\t\t\t\tsequenceGenerated: column.sequence,\n\t\t\t},\n\t\t})\n\n\t\tif (seedExpression !== null) {\n\t\t\tif (this.data.valueMigrationStrategy === 'using') {\n\t\t\t\tbuilder.alterColumn(entity.tableName, column.columnName, {\n\t\t\t\t\tnotNull: !column.nullable ? true : undefined,\n\t\t\t\t\ttype: columnType,\n\t\t\t\t\tusing: seedExpression,\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tfillSeed({\n\t\t\t\t\tbuilder,\n\t\t\t\t\ttype: 'creating',\n\t\t\t\t\tentity,\n\t\t\t\t\tcolumnName: column.columnName,\n\t\t\t\t\tnullable: column.nullable,\n\t\t\t\t\tseedExpression,\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(updateEntity(this.data.entityName, addField(this.data.field)))\n\t}\n\n\tdescribe({ createdEntities }: { createdEntities: string[] }) {\n\t\tconst notNull = !this.data.field.nullable\n\t\tconst hasValue = this.data.fillValue !== undefined || this.data.copyValue !== undefined\n\t\tconst failureWarning =\n\t\t\tnotNull && !hasValue && !createdEntities.includes(this.data.entityName)\n\t\t\t\t? 'May fail in runtime, because column is not-null. Consider setting fillValue or copyValue'\n\t\t\t\t: undefined\n\t\treturn { message: `Add field ${this.data.entityName}.${this.data.field.name}`, failureWarning }\n\t}\n}\n\nexport interface CreateColumnModificationData {\n\tentityName: string\n\tfield: Model.AnyColumn\n\tfillValue?: JSONValue\n\tcopyValue?: string\n\tvalueMigrationStrategy?: 'using' | 'update'\n}\n\n\nexport const createColumnModification = createModificationType({\n\tid: 'createColumn',\n\thandler: CreateColumnModificationHandler,\n})\n\nexport class CreateColumnDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn createFields(originalSchema, updatedSchema, ({ newField, updatedEntity }) => {\n\t\t\tif (!isColumn(newField)) {\n\t\t\t\treturn undefined\n\t\t\t}\n\t\t\treturn createColumnModification.createModification({\n\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\tfield: newField,\n\t\t\t\t...(newField.default !== undefined ? { fillValue: newField.default, valueMigrationStrategy: 'using' } : {}),\n\t\t\t})\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;;;;;AASO,MAAM,gCAA6F;AAAA,EACzG,YAA6B,MAAqD,QAAgB;AAArE,SAAA,OAAA;AAAqD,SAAA,SAAA;AAAA,EAAA;AAAA,EAE3E,UAAU,SAAiC;AACjD,UAAM,SAAS,KAAK,OAAO,MAAM,SAAS,KAAK,KAAK,UAAU;AAC9D,QAAI,OAAO,MAAM;AAChB;AAAA,IAAA;AAEK,UAAA,SAAS,KAAK,KAAK;AAEnB,UAAA,aAAa,iBAAiB,MAAM;AAE1C,UAAM,iBAAiB,qBAAqB;AAAA,MAC3C,OAAO,KAAK,OAAO;AAAA,MACnB;AAAA,MACA;AAAA,MACA,WAAW,KAAK,KAAK;AAAA,MACrB,WAAW,KAAK,KAAK;AAAA,IAAA,CACrB;AAGO,YAAA,UAAU,OAAO,WAAW;AAAA,MACnC,CAAC,OAAO,UAAU,GAAG;AAAA,QACpB,MAAM;AAAA,QACN,SAAS,CAAC,OAAO,YAAY,mBAAmB;AAAA,QAChD,mBAAmB,OAAO;AAAA,MAAA;AAAA,IAC3B,CACA;AAED,QAAI,mBAAmB,MAAM;AACxB,UAAA,KAAK,KAAK,2BAA2B,SAAS;AACjD,gBAAQ,YAAY,OAAO,WAAW,OAAO,YAAY;AAAA,UACxD,SAAS,CAAC,OAAO,WAAW,OAAO;AAAA,UACnC,MAAM;AAAA,UACN,OAAO;AAAA,QAAA,CACP;AAAA,MAAA,OACK;AACG,iBAAA;AAAA,UACR;AAAA,UACA,MAAM;AAAA,UACN;AAAA,UACA,YAAY,OAAO;AAAA,UACnB,UAAU,OAAO;AAAA,UACjB;AAAA,QAAA,CACA;AAAA,MAAA;AAAA,IACF;AAAA,EACD;AAAA,EAGM,mBAAkC;AACjC,WAAA,YAAY,aAAa,KAAK,KAAK,YAAY,SAAS,KAAK,KAAK,KAAK,CAAC,CAAC;AAAA,EAAA;AAAA,EAGjF,SAAS,EAAE,mBAAkD;AAC5D,UAAM,UAAU,CAAC,KAAK,KAAK,MAAM;AACjC,UAAM,WAAW,KAAK,KAAK,cAAc,UAAa,KAAK,KAAK,cAAc;AACxE,UAAA,iBACL,WAAW,CAAC,YAAY,CAAC,gBAAgB,SAAS,KAAK,KAAK,UAAU,IACnE,6FACA;AACJ,WAAO,EAAE,SAAS,aAAa,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,MAAM,IAAI,IAAI,eAAe;AAAA,EAAA;AAEhG;AAWO,MAAM,2BAA2B,uBAAuB;AAAA,EAC9D,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,mBAAqC;AAAA,EACjD,WAAW,gBAAwB,eAAuB;AACzD,WAAO,aAAa,gBAAgB,eAAe,CAAC,EAAE,UAAU,oBAAoB;AAC/E,UAAA,CAAC,SAAS,QAAQ,GAAG;AACjB,eAAA;AAAA,MAAA;AAER,aAAO,yBAAyB,mBAAmB;AAAA,QAClD,YAAY,cAAc;AAAA,QAC1B,OAAO;AAAA,QACP,GAAI,SAAS,YAAY,SAAY,EAAE,WAAW,SAAS,SAAS,wBAAwB,YAAY,CAAA;AAAA,MAAC,CACzG;AAAA,IAAA,CACD;AAAA,EAAA;AAEH;"}
|
package/dist/production/src/modifications/columns/UpdateColumnDefinitionModification.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateColumnDefinitionModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/columns/UpdateColumnDefinitionModification.ts"],"sourcesContent":["import { escapeValue, MigrationBuilder } from '@contember/database-migrations'\nimport { JSONValue, 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 { updateColumns } from '../utils/diffUtils'\nimport { wrapIdentifier } from '../../utils/dbHelpers'\nimport { getColumnSqlType } from '../utils/columnUtils'\nimport { fillSeed, formatSeedExpression } from './columnUtils'\n\nexport class UpdateColumnDefinitionModificationHandler implements ModificationHandler<UpdateColumnDefinitionModificationData> {\n\tconstructor(private readonly data: UpdateColumnDefinitionModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\t\tconst oldColumn = entity.fields[this.data.fieldName] as Model.AnyColumn\n\t\tconst newColumn = this.data.definition\n\n\t\tconst hasNewSequence = !oldColumn.sequence && newColumn.sequence\n\t\tconst hasNewType = newColumn.columnType !== oldColumn.columnType\n\t\tconst columnType = getColumnSqlType(newColumn)\n\t\tconst hasNullableChanged = oldColumn.nullable !== newColumn.nullable\n\n\t\tconst usingCast = `${wrapIdentifier(oldColumn.columnName)}::${columnType}`\n\n\t\tconst seedExpression = formatSeedExpression({\n\t\t\tmodel: this.schema.model,\n\t\t\tentity,\n\t\t\tcolumnType,\n\t\t\tfillValue: this.data.fillValue,\n\t\t\tcopyValue: this.data.copyValue,\n\t\t})\n\t\tconst hasSeed = seedExpression !== null\n\t\tconst migrateWithUsing = hasSeed && this.data.valueMigrationStrategy === 'using'\n\t\tconst migrateWithUpdate = hasSeed && this.data.valueMigrationStrategy !== 'using'\n\n\t\tbuilder.alterColumn(entity.tableName, oldColumn.columnName, {\n\t\t\ttype: hasNewSequence || hasNewType || migrateWithUsing ? columnType : undefined,\n\t\t\tnotNull: hasNullableChanged && (!migrateWithUpdate || newColumn.nullable) ? !newColumn.nullable : undefined,\n\t\t\tusing: (() => {\n\t\t\t\tif (hasNewSequence) {\n\t\t\t\t\treturn `COALESCE(${usingCast}, nextval(PG_GET_SERIAL_SEQUENCE(${escapeValue(entity.tableName)}, ${escapeValue(oldColumn.columnName)})))`\n\t\t\t\t}\n\t\t\t\tif (migrateWithUsing) {\n\t\t\t\t\treturn `COALESCE(${usingCast}, ${seedExpression})`\n\t\t\t\t}\n\n\t\t\t\tif (hasNewType) {\n\t\t\t\t\treturn usingCast\n\t\t\t\t}\n\t\t\t\treturn undefined\n\t\t\t})(),\n\t\t\tsequenceGenerated: oldColumn.sequence && !newColumn.sequence ? false : (!oldColumn.sequence ? newColumn.sequence : undefined),\n\t\t})\n\n\t\tif (migrateWithUpdate) {\n\t\t\tfillSeed({\n\t\t\t\tbuilder,\n\t\t\t\ttype: 'updating',\n\t\t\t\tentity,\n\t\t\t\tcolumnName: oldColumn.columnName,\n\t\t\t\tnullable: newColumn.nullable,\n\t\t\t\tseedExpression,\n\t\t\t})\n\t\t}\n\n\t\tconst seqAlter = []\n\t\tif (oldColumn.sequence && newColumn.sequence) {\n\t\t\tif (oldColumn.sequence.precedence !== newColumn.sequence.precedence) {\n\t\t\t\tseqAlter.push(`SET GENERATED ${newColumn.sequence.precedence}`)\n\t\t\t}\n\t\t\tif (oldColumn.sequence.start !== newColumn.sequence.start && typeof newColumn.sequence.start == 'number') {\n\t\t\t\tseqAlter.push(`SET START WITH ${newColumn.sequence.start}`)\n\t\t\t}\n\t\t\tif (newColumn.sequence.restart) {\n\t\t\t\tseqAlter.push('RESTART')\n\t\t\t}\n\t\t}\n\t\tif (seqAlter.length > 0) {\n\t\t\tbuilder.sql(`ALTER TABLE ${wrapIdentifier(entity.tableName)} ALTER ${wrapIdentifier(oldColumn.columnName)} ${seqAlter.join(' ')}`)\n\t\t}\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(\n\t\t\tupdateEntity(\n\t\t\t\tthis.data.entityName,\n\t\t\t\tupdateField<Model.AnyColumn>(this.data.fieldName, ({ field }) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...this.data.definition,\n\t\t\t\t\t\tname: field.name,\n\t\t\t\t\t\tcolumnName: field.columnName,\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\tconst current = this.schema.model.entities[this.data.entityName].fields[this.data.fieldName] as Model.AnyColumn\n\t\tconst changingToNotNull = current.nullable && !this.data.definition.nullable\n\t\tconst failureWarning = changingToNotNull ? 'Changing to not-null may fail in runtime.' : undefined\n\n\t\treturn {\n\t\t\tmessage: `Update column definition of field ${this.data.entityName}.${this.data.fieldName}`,\n\t\t\tfailureWarning,\n\t\t}\n\t}\n}\n\ntype SequenceDefinitionAlter =\n\t& Model.AnyColumn['sequence']\n\t& {\n\t\trestart?: boolean\n\t}\n\ntype ColumnDefinitionAlter =\n\t& Omit<Model.AnyColumn, 'sequence' | 'columnName' | 'name'>\n\t& {\n\t\tsequence?: SequenceDefinitionAlter\n\t}\n\nexport interface UpdateColumnDefinitionModificationData {\n\tentityName: string\n\tfieldName: string\n\tdefinition: ColumnDefinitionAlter\n\tfillValue?: JSONValue\n\tcopyValue?: string\n\tvalueMigrationStrategy?: 'using' | 'update'\n}\n\nexport const updateColumnDefinitionModification = createModificationType({\n\tid: 'updateColumnDefinition',\n\thandler: UpdateColumnDefinitionModificationHandler,\n})\n\nexport class UpdateColumnDefinitionDiffer implements Differ<UpdateColumnDefinitionModificationData> {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn updateColumns(originalSchema, updatedSchema, ({ originalColumn, updatedColumn, updatedEntity }) => {\n\t\t\tconst {\n\t\t\t\tname: {},\n\t\t\t\tcolumnName: {},\n\t\t\t\t...updatedDefinition\n\t\t\t} = updatedColumn\n\t\t\tconst {\n\t\t\t\tname: {},\n\t\t\t\tcolumnName: {},\n\t\t\t\t...originalDefinition\n\t\t\t} = originalColumn\n\t\t\tif (deepEqual(updatedDefinition, originalDefinition)) {\n\t\t\t\treturn undefined\n\t\t\t}\n\n\t\t\treturn updateColumnDefinitionModification.createModification({\n\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\tfieldName: updatedColumn.name,\n\t\t\t\tdefinition: updatedDefinition,\n\t\t\t})\n\t\t})\n\t}\n}\n"],"names":["getColumnSqlType","wrapIdentifier","formatSeedExpression","escapeValue","fillSeed","updateModel","updateEntity","updateField","createModificationType","updateColumns"],"mappings":";;;;;;;;;;AAUO,MAAM,0CAAkH;AAAA,EAC9H,YAA6B,MAA+D,QAAgB;AAA/E,SAAA,OAAA;AAA+D,SAAA,SAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"UpdateColumnDefinitionModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/columns/UpdateColumnDefinitionModification.ts"],"sourcesContent":["import { escapeValue, MigrationBuilder } from '@contember/database-migrations'\nimport { JSONValue, 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 { updateColumns } from '../utils/diffUtils'\nimport { wrapIdentifier } from '../../utils/dbHelpers'\nimport { getColumnSqlType } from '../utils/columnUtils'\nimport { fillSeed, formatSeedExpression } from './columnUtils'\n\nexport class UpdateColumnDefinitionModificationHandler implements ModificationHandler<UpdateColumnDefinitionModificationData> {\n\tconstructor(private readonly data: UpdateColumnDefinitionModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\t\tconst oldColumn = entity.fields[this.data.fieldName] as Model.AnyColumn\n\t\tconst newColumn = this.data.definition\n\n\t\tconst hasNewSequence = !oldColumn.sequence && newColumn.sequence\n\t\tconst hasNewType = newColumn.columnType !== oldColumn.columnType\n\t\tconst columnType = getColumnSqlType(newColumn)\n\t\tconst hasNullableChanged = oldColumn.nullable !== newColumn.nullable\n\n\t\tconst usingCast = `${wrapIdentifier(oldColumn.columnName)}::${columnType}`\n\n\t\tconst seedExpression = formatSeedExpression({\n\t\t\tmodel: this.schema.model,\n\t\t\tentity,\n\t\t\tcolumnType,\n\t\t\tfillValue: this.data.fillValue,\n\t\t\tcopyValue: this.data.copyValue,\n\t\t})\n\t\tconst hasSeed = seedExpression !== null\n\t\tconst migrateWithUsing = hasSeed && this.data.valueMigrationStrategy === 'using'\n\t\tconst migrateWithUpdate = hasSeed && this.data.valueMigrationStrategy !== 'using'\n\n\t\tbuilder.alterColumn(entity.tableName, oldColumn.columnName, {\n\t\t\ttype: hasNewSequence || hasNewType || migrateWithUsing ? columnType : undefined,\n\t\t\tnotNull: hasNullableChanged && (!migrateWithUpdate || newColumn.nullable) ? !newColumn.nullable : undefined,\n\t\t\tusing: (() => {\n\t\t\t\tif (hasNewSequence) {\n\t\t\t\t\treturn `COALESCE(${usingCast}, nextval(PG_GET_SERIAL_SEQUENCE(${escapeValue(entity.tableName)}, ${escapeValue(oldColumn.columnName)})))`\n\t\t\t\t}\n\t\t\t\tif (migrateWithUsing) {\n\t\t\t\t\treturn `COALESCE(${usingCast}, ${seedExpression})`\n\t\t\t\t}\n\n\t\t\t\tif (hasNewType) {\n\t\t\t\t\treturn usingCast\n\t\t\t\t}\n\t\t\t\treturn undefined\n\t\t\t})(),\n\t\t\tsequenceGenerated: oldColumn.sequence && !newColumn.sequence ? false : (!oldColumn.sequence ? newColumn.sequence : undefined),\n\t\t})\n\n\t\tif (migrateWithUpdate) {\n\t\t\tfillSeed({\n\t\t\t\tbuilder,\n\t\t\t\ttype: 'updating',\n\t\t\t\tentity,\n\t\t\t\tcolumnName: oldColumn.columnName,\n\t\t\t\tnullable: newColumn.nullable,\n\t\t\t\tseedExpression,\n\t\t\t})\n\t\t}\n\n\t\tconst seqAlter = []\n\t\tif (oldColumn.sequence && newColumn.sequence) {\n\t\t\tif (oldColumn.sequence.precedence !== newColumn.sequence.precedence) {\n\t\t\t\tseqAlter.push(`SET GENERATED ${newColumn.sequence.precedence}`)\n\t\t\t}\n\t\t\tif (oldColumn.sequence.start !== newColumn.sequence.start && typeof newColumn.sequence.start == 'number') {\n\t\t\t\tseqAlter.push(`SET START WITH ${newColumn.sequence.start}`)\n\t\t\t}\n\t\t\tif (newColumn.sequence.restart) {\n\t\t\t\tseqAlter.push('RESTART')\n\t\t\t}\n\t\t}\n\t\tif (seqAlter.length > 0) {\n\t\t\tbuilder.sql(`ALTER TABLE ${wrapIdentifier(entity.tableName)} ALTER ${wrapIdentifier(oldColumn.columnName)} ${seqAlter.join(' ')}`)\n\t\t}\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(\n\t\t\tupdateEntity(\n\t\t\t\tthis.data.entityName,\n\t\t\t\tupdateField<Model.AnyColumn>(this.data.fieldName, ({ field }) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...this.data.definition,\n\t\t\t\t\t\tname: field.name,\n\t\t\t\t\t\tcolumnName: field.columnName,\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\tconst current = this.schema.model.entities[this.data.entityName].fields[this.data.fieldName] as Model.AnyColumn\n\t\tconst changingToNotNull = current.nullable && !this.data.definition.nullable\n\t\tconst failureWarning = changingToNotNull ? 'Changing to not-null may fail in runtime.' : undefined\n\n\t\treturn {\n\t\t\tmessage: `Update column definition of field ${this.data.entityName}.${this.data.fieldName}`,\n\t\t\tfailureWarning,\n\t\t}\n\t}\n}\n\ntype SequenceDefinitionAlter =\n\t& Model.AnyColumn['sequence']\n\t& {\n\t\trestart?: boolean\n\t}\n\ntype ColumnDefinitionAlter =\n\t& Omit<Model.AnyColumn, 'sequence' | 'columnName' | 'name'>\n\t& {\n\t\tsequence?: SequenceDefinitionAlter\n\t}\n\nexport interface UpdateColumnDefinitionModificationData {\n\tentityName: string\n\tfieldName: string\n\tdefinition: ColumnDefinitionAlter\n\tfillValue?: JSONValue\n\tcopyValue?: string\n\tvalueMigrationStrategy?: 'using' | 'update'\n}\n\nexport const updateColumnDefinitionModification = createModificationType({\n\tid: 'updateColumnDefinition',\n\thandler: UpdateColumnDefinitionModificationHandler,\n})\n\nexport class UpdateColumnDefinitionDiffer implements Differ<UpdateColumnDefinitionModificationData> {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn updateColumns(originalSchema, updatedSchema, ({ originalColumn, updatedColumn, updatedEntity }) => {\n\t\t\tconst {\n\t\t\t\tname: {},\n\t\t\t\tcolumnName: {},\n\t\t\t\t...updatedDefinition\n\t\t\t} = updatedColumn\n\t\t\tconst {\n\t\t\t\tname: {},\n\t\t\t\tcolumnName: {},\n\t\t\t\t...originalDefinition\n\t\t\t} = originalColumn\n\t\t\tif (deepEqual(updatedDefinition, originalDefinition)) {\n\t\t\t\treturn undefined\n\t\t\t}\n\n\t\t\treturn updateColumnDefinitionModification.createModification({\n\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\tfieldName: updatedColumn.name,\n\t\t\t\tdefinition: updatedDefinition,\n\t\t\t})\n\t\t})\n\t}\n}\n"],"names":["getColumnSqlType","wrapIdentifier","formatSeedExpression","escapeValue","fillSeed","updateModel","updateEntity","updateField","createModificationType","updateColumns"],"mappings":";;;;;;;;;;AAUO,MAAM,0CAAkH;AAAA,EAC9H,YAA6B,MAA+D,QAAgB;AAA/E,SAAA,OAAA;AAA+D,SAAA,SAAA;AAAA,EAAA;AAAA,EAErF,UAAU,SAAiC;AACjD,UAAM,SAAS,KAAK,OAAO,MAAM,SAAS,KAAK,KAAK,UAAU;AAC9D,QAAI,OAAO,MAAM;AAChB;AAAA,IAAA;AAED,UAAM,YAAY,OAAO,OAAO,KAAK,KAAK,SAAS;AAC7C,UAAA,YAAY,KAAK,KAAK;AAE5B,UAAM,iBAAiB,CAAC,UAAU,YAAY,UAAU;AAClD,UAAA,aAAa,UAAU,eAAe,UAAU;AAChD,UAAA,aAAaA,6BAAiB,SAAS;AACvC,UAAA,qBAAqB,UAAU,aAAa,UAAU;AAE5D,UAAM,YAAY,GAAGC,yBAAe,UAAU,UAAU,CAAC,KAAK,UAAU;AAExE,UAAM,iBAAiBC,cAAAA,qBAAqB;AAAA,MAC3C,OAAO,KAAK,OAAO;AAAA,MACnB;AAAA,MACA;AAAA,MACA,WAAW,KAAK,KAAK;AAAA,MACrB,WAAW,KAAK,KAAK;AAAA,IAAA,CACrB;AACD,UAAM,UAAU,mBAAmB;AACnC,UAAM,mBAAmB,WAAW,KAAK,KAAK,2BAA2B;AACzE,UAAM,oBAAoB,WAAW,KAAK,KAAK,2BAA2B;AAE1E,YAAQ,YAAY,OAAO,WAAW,UAAU,YAAY;AAAA,MAC3D,MAAM,kBAAkB,cAAc,mBAAmB,aAAa;AAAA,MACtE,SAAS,uBAAuB,CAAC,qBAAqB,UAAU,YAAY,CAAC,UAAU,WAAW;AAAA,MAClG,QAAQ,MAAM;AACb,YAAI,gBAAgB;AACZ,iBAAA,YAAY,SAAS,oCAAoCC,mBAAY,YAAA,OAAO,SAAS,CAAC,KAAKA,mBAAA,YAAY,UAAU,UAAU,CAAC;AAAA,QAAA;AAEpI,YAAI,kBAAkB;AACd,iBAAA,YAAY,SAAS,KAAK,cAAc;AAAA,QAAA;AAGhD,YAAI,YAAY;AACR,iBAAA;AAAA,QAAA;AAED,eAAA;AAAA,MAAA,GACL;AAAA,MACH,mBAAmB,UAAU,YAAY,CAAC,UAAU,WAAW,QAAS,CAAC,UAAU,WAAW,UAAU,WAAW;AAAA,IAAA,CACnH;AAED,QAAI,mBAAmB;AACbC,6BAAA;AAAA,QACR;AAAA,QACA,MAAM;AAAA,QACN;AAAA,QACA,YAAY,UAAU;AAAA,QACtB,UAAU,UAAU;AAAA,QACpB;AAAA,MAAA,CACA;AAAA,IAAA;AAGF,UAAM,WAAW,CAAC;AACd,QAAA,UAAU,YAAY,UAAU,UAAU;AAC7C,UAAI,UAAU,SAAS,eAAe,UAAU,SAAS,YAAY;AACpE,iBAAS,KAAK,iBAAiB,UAAU,SAAS,UAAU,EAAE;AAAA,MAAA;AAE3D,UAAA,UAAU,SAAS,UAAU,UAAU,SAAS,SAAS,OAAO,UAAU,SAAS,SAAS,UAAU;AACzG,iBAAS,KAAK,kBAAkB,UAAU,SAAS,KAAK,EAAE;AAAA,MAAA;AAEvD,UAAA,UAAU,SAAS,SAAS;AAC/B,iBAAS,KAAK,SAAS;AAAA,MAAA;AAAA,IACxB;AAEG,QAAA,SAAS,SAAS,GAAG;AACxB,cAAQ,IAAI,eAAeH,UAAA,eAAe,OAAO,SAAS,CAAC,UAAUA,UAAA,eAAe,UAAU,UAAU,CAAC,IAAI,SAAS,KAAK,GAAG,CAAC,EAAE;AAAA,IAAA;AAAA,EAClI;AAAA,EAGM,mBAAkC;AACjC,WAAAI,kBAAA;AAAA,MACNC,kBAAA;AAAA,QACC,KAAK,KAAK;AAAA,QACVC,8BAA6B,KAAK,KAAK,WAAW,CAAC,EAAE,YAAY;AACzD,iBAAA;AAAA,YACN,GAAG,KAAK,KAAK;AAAA,YACb,MAAM,MAAM;AAAA,YACZ,YAAY,MAAM;AAAA,UACnB;AAAA,QACA,CAAA;AAAA,MAAA;AAAA,IAEH;AAAA,EAAA;AAAA,EAGD,WAAW;AACV,UAAM,UAAU,KAAK,OAAO,MAAM,SAAS,KAAK,KAAK,UAAU,EAAE,OAAO,KAAK,KAAK,SAAS;AAC3F,UAAM,oBAAoB,QAAQ,YAAY,CAAC,KAAK,KAAK,WAAW;AAC9D,UAAA,iBAAiB,oBAAoB,8CAA8C;AAElF,WAAA;AAAA,MACN,SAAS,qCAAqC,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS;AAAA,MACzF;AAAA,IACD;AAAA,EAAA;AAEF;AAuBO,MAAM,qCAAqCC,oBAAAA,uBAAuB;AAAA,EACxE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,6BAAuF;AAAA,EACnG,WAAW,gBAAwB,eAAuB;AAClD,WAAAC,UAAAA,cAAc,gBAAgB,eAAe,CAAC,EAAE,gBAAgB,eAAe,oBAAoB;AACnG,YAAA;AAAA,QACL,MAAM,CAAC;AAAA,QACP,YAAY,CAAC;AAAA,QACb,GAAG;AAAA,MAAA,IACA;AACE,YAAA;AAAA,QACL,MAAM,CAAC;AAAA,QACP,YAAY,CAAC;AAAA,QACb,GAAG;AAAA,MAAA,IACA;AACA,UAAA,UAAU,mBAAmB,kBAAkB,GAAG;AAC9C,eAAA;AAAA,MAAA;AAGR,aAAO,mCAAmC,mBAAmB;AAAA,QAC5D,YAAY,cAAc;AAAA,QAC1B,WAAW,cAAc;AAAA,QACzB,YAAY;AAAA,MAAA,CACZ;AAAA,IAAA,CACD;AAAA,EAAA;AAEH;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateColumnDefinitionModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/columns/UpdateColumnDefinitionModification.ts"],"sourcesContent":["import { escapeValue, MigrationBuilder } from '@contember/database-migrations'\nimport { JSONValue, 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 { updateColumns } from '../utils/diffUtils'\nimport { wrapIdentifier } from '../../utils/dbHelpers'\nimport { getColumnSqlType } from '../utils/columnUtils'\nimport { fillSeed, formatSeedExpression } from './columnUtils'\n\nexport class UpdateColumnDefinitionModificationHandler implements ModificationHandler<UpdateColumnDefinitionModificationData> {\n\tconstructor(private readonly data: UpdateColumnDefinitionModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\t\tconst oldColumn = entity.fields[this.data.fieldName] as Model.AnyColumn\n\t\tconst newColumn = this.data.definition\n\n\t\tconst hasNewSequence = !oldColumn.sequence && newColumn.sequence\n\t\tconst hasNewType = newColumn.columnType !== oldColumn.columnType\n\t\tconst columnType = getColumnSqlType(newColumn)\n\t\tconst hasNullableChanged = oldColumn.nullable !== newColumn.nullable\n\n\t\tconst usingCast = `${wrapIdentifier(oldColumn.columnName)}::${columnType}`\n\n\t\tconst seedExpression = formatSeedExpression({\n\t\t\tmodel: this.schema.model,\n\t\t\tentity,\n\t\t\tcolumnType,\n\t\t\tfillValue: this.data.fillValue,\n\t\t\tcopyValue: this.data.copyValue,\n\t\t})\n\t\tconst hasSeed = seedExpression !== null\n\t\tconst migrateWithUsing = hasSeed && this.data.valueMigrationStrategy === 'using'\n\t\tconst migrateWithUpdate = hasSeed && this.data.valueMigrationStrategy !== 'using'\n\n\t\tbuilder.alterColumn(entity.tableName, oldColumn.columnName, {\n\t\t\ttype: hasNewSequence || hasNewType || migrateWithUsing ? columnType : undefined,\n\t\t\tnotNull: hasNullableChanged && (!migrateWithUpdate || newColumn.nullable) ? !newColumn.nullable : undefined,\n\t\t\tusing: (() => {\n\t\t\t\tif (hasNewSequence) {\n\t\t\t\t\treturn `COALESCE(${usingCast}, nextval(PG_GET_SERIAL_SEQUENCE(${escapeValue(entity.tableName)}, ${escapeValue(oldColumn.columnName)})))`\n\t\t\t\t}\n\t\t\t\tif (migrateWithUsing) {\n\t\t\t\t\treturn `COALESCE(${usingCast}, ${seedExpression})`\n\t\t\t\t}\n\n\t\t\t\tif (hasNewType) {\n\t\t\t\t\treturn usingCast\n\t\t\t\t}\n\t\t\t\treturn undefined\n\t\t\t})(),\n\t\t\tsequenceGenerated: oldColumn.sequence && !newColumn.sequence ? false : (!oldColumn.sequence ? newColumn.sequence : undefined),\n\t\t})\n\n\t\tif (migrateWithUpdate) {\n\t\t\tfillSeed({\n\t\t\t\tbuilder,\n\t\t\t\ttype: 'updating',\n\t\t\t\tentity,\n\t\t\t\tcolumnName: oldColumn.columnName,\n\t\t\t\tnullable: newColumn.nullable,\n\t\t\t\tseedExpression,\n\t\t\t})\n\t\t}\n\n\t\tconst seqAlter = []\n\t\tif (oldColumn.sequence && newColumn.sequence) {\n\t\t\tif (oldColumn.sequence.precedence !== newColumn.sequence.precedence) {\n\t\t\t\tseqAlter.push(`SET GENERATED ${newColumn.sequence.precedence}`)\n\t\t\t}\n\t\t\tif (oldColumn.sequence.start !== newColumn.sequence.start && typeof newColumn.sequence.start == 'number') {\n\t\t\t\tseqAlter.push(`SET START WITH ${newColumn.sequence.start}`)\n\t\t\t}\n\t\t\tif (newColumn.sequence.restart) {\n\t\t\t\tseqAlter.push('RESTART')\n\t\t\t}\n\t\t}\n\t\tif (seqAlter.length > 0) {\n\t\t\tbuilder.sql(`ALTER TABLE ${wrapIdentifier(entity.tableName)} ALTER ${wrapIdentifier(oldColumn.columnName)} ${seqAlter.join(' ')}`)\n\t\t}\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(\n\t\t\tupdateEntity(\n\t\t\t\tthis.data.entityName,\n\t\t\t\tupdateField<Model.AnyColumn>(this.data.fieldName, ({ field }) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...this.data.definition,\n\t\t\t\t\t\tname: field.name,\n\t\t\t\t\t\tcolumnName: field.columnName,\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\tconst current = this.schema.model.entities[this.data.entityName].fields[this.data.fieldName] as Model.AnyColumn\n\t\tconst changingToNotNull = current.nullable && !this.data.definition.nullable\n\t\tconst failureWarning = changingToNotNull ? 'Changing to not-null may fail in runtime.' : undefined\n\n\t\treturn {\n\t\t\tmessage: `Update column definition of field ${this.data.entityName}.${this.data.fieldName}`,\n\t\t\tfailureWarning,\n\t\t}\n\t}\n}\n\ntype SequenceDefinitionAlter =\n\t& Model.AnyColumn['sequence']\n\t& {\n\t\trestart?: boolean\n\t}\n\ntype ColumnDefinitionAlter =\n\t& Omit<Model.AnyColumn, 'sequence' | 'columnName' | 'name'>\n\t& {\n\t\tsequence?: SequenceDefinitionAlter\n\t}\n\nexport interface UpdateColumnDefinitionModificationData {\n\tentityName: string\n\tfieldName: string\n\tdefinition: ColumnDefinitionAlter\n\tfillValue?: JSONValue\n\tcopyValue?: string\n\tvalueMigrationStrategy?: 'using' | 'update'\n}\n\nexport const updateColumnDefinitionModification = createModificationType({\n\tid: 'updateColumnDefinition',\n\thandler: UpdateColumnDefinitionModificationHandler,\n})\n\nexport class UpdateColumnDefinitionDiffer implements Differ<UpdateColumnDefinitionModificationData> {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn updateColumns(originalSchema, updatedSchema, ({ originalColumn, updatedColumn, updatedEntity }) => {\n\t\t\tconst {\n\t\t\t\tname: {},\n\t\t\t\tcolumnName: {},\n\t\t\t\t...updatedDefinition\n\t\t\t} = updatedColumn\n\t\t\tconst {\n\t\t\t\tname: {},\n\t\t\t\tcolumnName: {},\n\t\t\t\t...originalDefinition\n\t\t\t} = originalColumn\n\t\t\tif (deepEqual(updatedDefinition, originalDefinition)) {\n\t\t\t\treturn undefined\n\t\t\t}\n\n\t\t\treturn updateColumnDefinitionModification.createModification({\n\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\tfieldName: updatedColumn.name,\n\t\t\t\tdefinition: updatedDefinition,\n\t\t\t})\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;AAUO,MAAM,0CAAkH;AAAA,EAC9H,YAA6B,MAA+D,QAAgB;AAA/E,SAAA,OAAA;AAA+D,SAAA,SAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"UpdateColumnDefinitionModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/columns/UpdateColumnDefinitionModification.ts"],"sourcesContent":["import { escapeValue, MigrationBuilder } from '@contember/database-migrations'\nimport { JSONValue, 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 { updateColumns } from '../utils/diffUtils'\nimport { wrapIdentifier } from '../../utils/dbHelpers'\nimport { getColumnSqlType } from '../utils/columnUtils'\nimport { fillSeed, formatSeedExpression } from './columnUtils'\n\nexport class UpdateColumnDefinitionModificationHandler implements ModificationHandler<UpdateColumnDefinitionModificationData> {\n\tconstructor(private readonly data: UpdateColumnDefinitionModificationData, private readonly schema: Schema) {}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\t\tconst oldColumn = entity.fields[this.data.fieldName] as Model.AnyColumn\n\t\tconst newColumn = this.data.definition\n\n\t\tconst hasNewSequence = !oldColumn.sequence && newColumn.sequence\n\t\tconst hasNewType = newColumn.columnType !== oldColumn.columnType\n\t\tconst columnType = getColumnSqlType(newColumn)\n\t\tconst hasNullableChanged = oldColumn.nullable !== newColumn.nullable\n\n\t\tconst usingCast = `${wrapIdentifier(oldColumn.columnName)}::${columnType}`\n\n\t\tconst seedExpression = formatSeedExpression({\n\t\t\tmodel: this.schema.model,\n\t\t\tentity,\n\t\t\tcolumnType,\n\t\t\tfillValue: this.data.fillValue,\n\t\t\tcopyValue: this.data.copyValue,\n\t\t})\n\t\tconst hasSeed = seedExpression !== null\n\t\tconst migrateWithUsing = hasSeed && this.data.valueMigrationStrategy === 'using'\n\t\tconst migrateWithUpdate = hasSeed && this.data.valueMigrationStrategy !== 'using'\n\n\t\tbuilder.alterColumn(entity.tableName, oldColumn.columnName, {\n\t\t\ttype: hasNewSequence || hasNewType || migrateWithUsing ? columnType : undefined,\n\t\t\tnotNull: hasNullableChanged && (!migrateWithUpdate || newColumn.nullable) ? !newColumn.nullable : undefined,\n\t\t\tusing: (() => {\n\t\t\t\tif (hasNewSequence) {\n\t\t\t\t\treturn `COALESCE(${usingCast}, nextval(PG_GET_SERIAL_SEQUENCE(${escapeValue(entity.tableName)}, ${escapeValue(oldColumn.columnName)})))`\n\t\t\t\t}\n\t\t\t\tif (migrateWithUsing) {\n\t\t\t\t\treturn `COALESCE(${usingCast}, ${seedExpression})`\n\t\t\t\t}\n\n\t\t\t\tif (hasNewType) {\n\t\t\t\t\treturn usingCast\n\t\t\t\t}\n\t\t\t\treturn undefined\n\t\t\t})(),\n\t\t\tsequenceGenerated: oldColumn.sequence && !newColumn.sequence ? false : (!oldColumn.sequence ? newColumn.sequence : undefined),\n\t\t})\n\n\t\tif (migrateWithUpdate) {\n\t\t\tfillSeed({\n\t\t\t\tbuilder,\n\t\t\t\ttype: 'updating',\n\t\t\t\tentity,\n\t\t\t\tcolumnName: oldColumn.columnName,\n\t\t\t\tnullable: newColumn.nullable,\n\t\t\t\tseedExpression,\n\t\t\t})\n\t\t}\n\n\t\tconst seqAlter = []\n\t\tif (oldColumn.sequence && newColumn.sequence) {\n\t\t\tif (oldColumn.sequence.precedence !== newColumn.sequence.precedence) {\n\t\t\t\tseqAlter.push(`SET GENERATED ${newColumn.sequence.precedence}`)\n\t\t\t}\n\t\t\tif (oldColumn.sequence.start !== newColumn.sequence.start && typeof newColumn.sequence.start == 'number') {\n\t\t\t\tseqAlter.push(`SET START WITH ${newColumn.sequence.start}`)\n\t\t\t}\n\t\t\tif (newColumn.sequence.restart) {\n\t\t\t\tseqAlter.push('RESTART')\n\t\t\t}\n\t\t}\n\t\tif (seqAlter.length > 0) {\n\t\t\tbuilder.sql(`ALTER TABLE ${wrapIdentifier(entity.tableName)} ALTER ${wrapIdentifier(oldColumn.columnName)} ${seqAlter.join(' ')}`)\n\t\t}\n\t}\n\n\tpublic getSchemaUpdater(): SchemaUpdater {\n\t\treturn updateModel(\n\t\t\tupdateEntity(\n\t\t\t\tthis.data.entityName,\n\t\t\t\tupdateField<Model.AnyColumn>(this.data.fieldName, ({ field }) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...this.data.definition,\n\t\t\t\t\t\tname: field.name,\n\t\t\t\t\t\tcolumnName: field.columnName,\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\tconst current = this.schema.model.entities[this.data.entityName].fields[this.data.fieldName] as Model.AnyColumn\n\t\tconst changingToNotNull = current.nullable && !this.data.definition.nullable\n\t\tconst failureWarning = changingToNotNull ? 'Changing to not-null may fail in runtime.' : undefined\n\n\t\treturn {\n\t\t\tmessage: `Update column definition of field ${this.data.entityName}.${this.data.fieldName}`,\n\t\t\tfailureWarning,\n\t\t}\n\t}\n}\n\ntype SequenceDefinitionAlter =\n\t& Model.AnyColumn['sequence']\n\t& {\n\t\trestart?: boolean\n\t}\n\ntype ColumnDefinitionAlter =\n\t& Omit<Model.AnyColumn, 'sequence' | 'columnName' | 'name'>\n\t& {\n\t\tsequence?: SequenceDefinitionAlter\n\t}\n\nexport interface UpdateColumnDefinitionModificationData {\n\tentityName: string\n\tfieldName: string\n\tdefinition: ColumnDefinitionAlter\n\tfillValue?: JSONValue\n\tcopyValue?: string\n\tvalueMigrationStrategy?: 'using' | 'update'\n}\n\nexport const updateColumnDefinitionModification = createModificationType({\n\tid: 'updateColumnDefinition',\n\thandler: UpdateColumnDefinitionModificationHandler,\n})\n\nexport class UpdateColumnDefinitionDiffer implements Differ<UpdateColumnDefinitionModificationData> {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn updateColumns(originalSchema, updatedSchema, ({ originalColumn, updatedColumn, updatedEntity }) => {\n\t\t\tconst {\n\t\t\t\tname: {},\n\t\t\t\tcolumnName: {},\n\t\t\t\t...updatedDefinition\n\t\t\t} = updatedColumn\n\t\t\tconst {\n\t\t\t\tname: {},\n\t\t\t\tcolumnName: {},\n\t\t\t\t...originalDefinition\n\t\t\t} = originalColumn\n\t\t\tif (deepEqual(updatedDefinition, originalDefinition)) {\n\t\t\t\treturn undefined\n\t\t\t}\n\n\t\t\treturn updateColumnDefinitionModification.createModification({\n\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\tfieldName: updatedColumn.name,\n\t\t\t\tdefinition: updatedDefinition,\n\t\t\t})\n\t\t})\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;AAUO,MAAM,0CAAkH;AAAA,EAC9H,YAA6B,MAA+D,QAAgB;AAA/E,SAAA,OAAA;AAA+D,SAAA,SAAA;AAAA,EAAA;AAAA,EAErF,UAAU,SAAiC;AACjD,UAAM,SAAS,KAAK,OAAO,MAAM,SAAS,KAAK,KAAK,UAAU;AAC9D,QAAI,OAAO,MAAM;AAChB;AAAA,IAAA;AAED,UAAM,YAAY,OAAO,OAAO,KAAK,KAAK,SAAS;AAC7C,UAAA,YAAY,KAAK,KAAK;AAE5B,UAAM,iBAAiB,CAAC,UAAU,YAAY,UAAU;AAClD,UAAA,aAAa,UAAU,eAAe,UAAU;AAChD,UAAA,aAAa,iBAAiB,SAAS;AACvC,UAAA,qBAAqB,UAAU,aAAa,UAAU;AAE5D,UAAM,YAAY,GAAG,eAAe,UAAU,UAAU,CAAC,KAAK,UAAU;AAExE,UAAM,iBAAiB,qBAAqB;AAAA,MAC3C,OAAO,KAAK,OAAO;AAAA,MACnB;AAAA,MACA;AAAA,MACA,WAAW,KAAK,KAAK;AAAA,MACrB,WAAW,KAAK,KAAK;AAAA,IAAA,CACrB;AACD,UAAM,UAAU,mBAAmB;AACnC,UAAM,mBAAmB,WAAW,KAAK,KAAK,2BAA2B;AACzE,UAAM,oBAAoB,WAAW,KAAK,KAAK,2BAA2B;AAE1E,YAAQ,YAAY,OAAO,WAAW,UAAU,YAAY;AAAA,MAC3D,MAAM,kBAAkB,cAAc,mBAAmB,aAAa;AAAA,MACtE,SAAS,uBAAuB,CAAC,qBAAqB,UAAU,YAAY,CAAC,UAAU,WAAW;AAAA,MAClG,QAAQ,MAAM;AACb,YAAI,gBAAgB;AACZ,iBAAA,YAAY,SAAS,oCAAoC,YAAY,OAAO,SAAS,CAAC,KAAK,YAAY,UAAU,UAAU,CAAC;AAAA,QAAA;AAEpI,YAAI,kBAAkB;AACd,iBAAA,YAAY,SAAS,KAAK,cAAc;AAAA,QAAA;AAGhD,YAAI,YAAY;AACR,iBAAA;AAAA,QAAA;AAED,eAAA;AAAA,MAAA,GACL;AAAA,MACH,mBAAmB,UAAU,YAAY,CAAC,UAAU,WAAW,QAAS,CAAC,UAAU,WAAW,UAAU,WAAW;AAAA,IAAA,CACnH;AAED,QAAI,mBAAmB;AACb,eAAA;AAAA,QACR;AAAA,QACA,MAAM;AAAA,QACN;AAAA,QACA,YAAY,UAAU;AAAA,QACtB,UAAU,UAAU;AAAA,QACpB;AAAA,MAAA,CACA;AAAA,IAAA;AAGF,UAAM,WAAW,CAAC;AACd,QAAA,UAAU,YAAY,UAAU,UAAU;AAC7C,UAAI,UAAU,SAAS,eAAe,UAAU,SAAS,YAAY;AACpE,iBAAS,KAAK,iBAAiB,UAAU,SAAS,UAAU,EAAE;AAAA,MAAA;AAE3D,UAAA,UAAU,SAAS,UAAU,UAAU,SAAS,SAAS,OAAO,UAAU,SAAS,SAAS,UAAU;AACzG,iBAAS,KAAK,kBAAkB,UAAU,SAAS,KAAK,EAAE;AAAA,MAAA;AAEvD,UAAA,UAAU,SAAS,SAAS;AAC/B,iBAAS,KAAK,SAAS;AAAA,MAAA;AAAA,IACxB;AAEG,QAAA,SAAS,SAAS,GAAG;AACxB,cAAQ,IAAI,eAAe,eAAe,OAAO,SAAS,CAAC,UAAU,eAAe,UAAU,UAAU,CAAC,IAAI,SAAS,KAAK,GAAG,CAAC,EAAE;AAAA,IAAA;AAAA,EAClI;AAAA,EAGM,mBAAkC;AACjC,WAAA;AAAA,MACN;AAAA,QACC,KAAK,KAAK;AAAA,QACV,YAA6B,KAAK,KAAK,WAAW,CAAC,EAAE,YAAY;AACzD,iBAAA;AAAA,YACN,GAAG,KAAK,KAAK;AAAA,YACb,MAAM,MAAM;AAAA,YACZ,YAAY,MAAM;AAAA,UACnB;AAAA,QACA,CAAA;AAAA,MAAA;AAAA,IAEH;AAAA,EAAA;AAAA,EAGD,WAAW;AACV,UAAM,UAAU,KAAK,OAAO,MAAM,SAAS,KAAK,KAAK,UAAU,EAAE,OAAO,KAAK,KAAK,SAAS;AAC3F,UAAM,oBAAoB,QAAQ,YAAY,CAAC,KAAK,KAAK,WAAW;AAC9D,UAAA,iBAAiB,oBAAoB,8CAA8C;AAElF,WAAA;AAAA,MACN,SAAS,qCAAqC,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS;AAAA,MACzF;AAAA,IACD;AAAA,EAAA;AAEF;AAuBO,MAAM,qCAAqC,uBAAuB;AAAA,EACxE,IAAI;AAAA,EACJ,SAAS;AACV,CAAC;AAEM,MAAM,6BAAuF;AAAA,EACnG,WAAW,gBAAwB,eAAuB;AAClD,WAAA,cAAc,gBAAgB,eAAe,CAAC,EAAE,gBAAgB,eAAe,oBAAoB;AACnG,YAAA;AAAA,QACL,MAAM,CAAC;AAAA,QACP,YAAY,CAAC;AAAA,QACb,GAAG;AAAA,MAAA,IACA;AACE,YAAA;AAAA,QACL,MAAM,CAAC;AAAA,QACP,YAAY,CAAC;AAAA,QACb,GAAG;AAAA,MAAA,IACA;AACA,UAAA,UAAU,mBAAmB,kBAAkB,GAAG;AAC9C,eAAA;AAAA,MAAA;AAGR,aAAO,mCAAmC,mBAAmB;AAAA,QAC5D,YAAY,cAAc;AAAA,QAC1B,WAAW,cAAc;AAAA,QACzB,YAAY;AAAA,MAAA,CACZ;AAAA,IAAA,CACD;AAAA,EAAA;AAEH;"}
|