@contember/schema-migrations 1.4.0-rc.8 → 2.0.0-alpha.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/development/index.cjs +167 -0
- package/dist/development/index.cjs.map +1 -0
- package/dist/development/index.js +161 -0
- package/dist/development/index.js.map +1 -0
- package/dist/development/src/Migration.cjs +9 -0
- package/dist/development/src/Migration.cjs.map +1 -0
- package/dist/development/src/Migration.js +9 -0
- package/dist/development/src/Migration.js.map +1 -0
- package/dist/development/src/MigrationDescriber.cjs +67 -0
- package/dist/development/src/MigrationDescriber.cjs.map +1 -0
- package/dist/development/src/MigrationDescriber.js +67 -0
- package/dist/development/src/MigrationDescriber.js.map +1 -0
- package/dist/development/src/SchemaDiffer.cjs +149 -0
- package/dist/development/src/SchemaDiffer.cjs.map +1 -0
- package/dist/development/src/SchemaDiffer.js +149 -0
- package/dist/development/src/SchemaDiffer.js.map +1 -0
- package/dist/development/src/SchemaMigrator.cjs +19 -0
- package/dist/development/src/SchemaMigrator.cjs.map +1 -0
- package/dist/development/src/SchemaMigrator.js +19 -0
- package/dist/development/src/SchemaMigrator.js.map +1 -0
- package/dist/development/src/exceptions.cjs +6 -0
- package/dist/development/src/exceptions.cjs.map +1 -0
- package/dist/development/src/exceptions.js +6 -0
- package/dist/development/src/exceptions.js.map +1 -0
- package/dist/development/src/modifications/ModificationHandler.cjs +13 -0
- package/dist/development/src/modifications/ModificationHandler.cjs.map +1 -0
- package/dist/development/src/modifications/ModificationHandler.js +13 -0
- package/dist/development/src/modifications/ModificationHandler.js.map +1 -0
- package/dist/development/src/modifications/ModificationHandlerFactory.cjs +109 -0
- package/dist/development/src/modifications/ModificationHandlerFactory.cjs.map +1 -0
- package/dist/development/src/modifications/ModificationHandlerFactory.js +109 -0
- package/dist/development/src/modifications/ModificationHandlerFactory.js.map +1 -0
- package/dist/development/src/modifications/ModificationVersions.cjs +19 -0
- package/dist/development/src/modifications/ModificationVersions.cjs.map +1 -0
- package/dist/development/src/modifications/ModificationVersions.js +19 -0
- package/dist/development/src/modifications/ModificationVersions.js.map +1 -0
- package/dist/development/src/modifications/NoopModification.cjs +14 -0
- package/dist/development/src/modifications/NoopModification.cjs.map +1 -0
- package/dist/development/src/modifications/NoopModification.js +14 -0
- package/dist/development/src/modifications/NoopModification.js.map +1 -0
- package/dist/development/src/modifications/acl/PatchAclSchemaModification.cjs +35 -0
- package/dist/development/src/modifications/acl/PatchAclSchemaModification.cjs.map +1 -0
- package/dist/development/src/modifications/acl/PatchAclSchemaModification.js +35 -0
- package/dist/development/src/modifications/acl/PatchAclSchemaModification.js.map +1 -0
- package/dist/development/src/modifications/acl/UpdateAclSchemaModification.cjs +42 -0
- package/dist/development/src/modifications/acl/UpdateAclSchemaModification.cjs.map +1 -0
- package/dist/development/src/modifications/acl/UpdateAclSchemaModification.js +42 -0
- package/dist/development/src/modifications/acl/UpdateAclSchemaModification.js.map +1 -0
- package/dist/development/src/modifications/actions/CreateTargetModification.cjs +38 -0
- package/dist/development/src/modifications/actions/CreateTargetModification.cjs.map +1 -0
- package/dist/development/src/modifications/actions/CreateTargetModification.js +38 -0
- package/dist/development/src/modifications/actions/CreateTargetModification.js.map +1 -0
- package/dist/development/src/modifications/actions/CreateTriggerModification.cjs +38 -0
- package/dist/development/src/modifications/actions/CreateTriggerModification.cjs.map +1 -0
- package/dist/development/src/modifications/actions/CreateTriggerModification.js +38 -0
- package/dist/development/src/modifications/actions/CreateTriggerModification.js.map +1 -0
- package/dist/development/src/modifications/actions/RemoveTargetModification.cjs +38 -0
- package/dist/development/src/modifications/actions/RemoveTargetModification.cjs.map +1 -0
- package/dist/development/src/modifications/actions/RemoveTargetModification.js +38 -0
- package/dist/development/src/modifications/actions/RemoveTargetModification.js.map +1 -0
- package/dist/development/src/modifications/actions/RemoveTriggerModification.cjs +38 -0
- package/dist/development/src/modifications/actions/RemoveTriggerModification.cjs.map +1 -0
- package/dist/development/src/modifications/actions/RemoveTriggerModification.js +38 -0
- package/dist/development/src/modifications/actions/RemoveTriggerModification.js.map +1 -0
- package/dist/development/src/modifications/actions/UpdateTargetModification.cjs +41 -0
- package/dist/development/src/modifications/actions/UpdateTargetModification.cjs.map +1 -0
- package/dist/development/src/modifications/actions/UpdateTargetModification.js +41 -0
- package/dist/development/src/modifications/actions/UpdateTargetModification.js.map +1 -0
- package/dist/development/src/modifications/actions/UpdateTriggerModification.cjs +41 -0
- package/dist/development/src/modifications/actions/UpdateTriggerModification.cjs.map +1 -0
- package/dist/development/src/modifications/actions/UpdateTriggerModification.js +41 -0
- package/dist/development/src/modifications/actions/UpdateTriggerModification.js.map +1 -0
- package/dist/development/src/modifications/columns/CreateColumnModification.cjs +85 -0
- package/dist/development/src/modifications/columns/CreateColumnModification.cjs.map +1 -0
- package/dist/development/src/modifications/columns/CreateColumnModification.js +85 -0
- package/dist/development/src/modifications/columns/CreateColumnModification.js.map +1 -0
- package/dist/development/src/modifications/columns/UpdateColumnDefinitionModification.cjs +136 -0
- package/dist/development/src/modifications/columns/UpdateColumnDefinitionModification.cjs.map +1 -0
- package/dist/development/src/modifications/columns/UpdateColumnDefinitionModification.js +136 -0
- package/dist/development/src/modifications/columns/UpdateColumnDefinitionModification.js.map +1 -0
- package/dist/development/src/modifications/columns/UpdateColumnNameModification.cjs +119 -0
- package/dist/development/src/modifications/columns/UpdateColumnNameModification.cjs.map +1 -0
- package/dist/development/src/modifications/columns/UpdateColumnNameModification.js +119 -0
- package/dist/development/src/modifications/columns/UpdateColumnNameModification.js.map +1 -0
- package/dist/development/src/modifications/columns/columnUtils.cjs +29 -0
- package/dist/development/src/modifications/columns/columnUtils.cjs.map +1 -0
- package/dist/development/src/modifications/columns/columnUtils.js +29 -0
- package/dist/development/src/modifications/columns/columnUtils.js.map +1 -0
- package/dist/development/src/modifications/constraints/CreateUniqueConstraintModification.cjs +70 -0
- package/dist/development/src/modifications/constraints/CreateUniqueConstraintModification.cjs.map +1 -0
- package/dist/development/src/modifications/constraints/CreateUniqueConstraintModification.js +70 -0
- package/dist/development/src/modifications/constraints/CreateUniqueConstraintModification.js.map +1 -0
- package/dist/development/src/modifications/constraints/RemoveUniqueConstraintModification.cjs +80 -0
- package/dist/development/src/modifications/constraints/RemoveUniqueConstraintModification.cjs.map +1 -0
- package/dist/development/src/modifications/constraints/RemoveUniqueConstraintModification.js +80 -0
- package/dist/development/src/modifications/constraints/RemoveUniqueConstraintModification.js.map +1 -0
- package/dist/development/src/modifications/constraints/utils.cjs +34 -0
- package/dist/development/src/modifications/constraints/utils.cjs.map +1 -0
- package/dist/development/src/modifications/constraints/utils.js +34 -0
- package/dist/development/src/modifications/constraints/utils.js.map +1 -0
- package/dist/development/src/modifications/differs/RemoveChangedFieldDiffer.cjs +30 -0
- package/dist/development/src/modifications/differs/RemoveChangedFieldDiffer.cjs.map +1 -0
- package/dist/development/src/modifications/differs/RemoveChangedFieldDiffer.js +30 -0
- package/dist/development/src/modifications/differs/RemoveChangedFieldDiffer.js.map +1 -0
- package/dist/development/src/modifications/differs/RemoveViewDiffer.cjs +42 -0
- package/dist/development/src/modifications/differs/RemoveViewDiffer.cjs.map +1 -0
- package/dist/development/src/modifications/differs/RemoveViewDiffer.js +42 -0
- package/dist/development/src/modifications/differs/RemoveViewDiffer.js.map +1 -0
- package/dist/development/src/modifications/entities/CreateEntityModification.cjs +73 -0
- package/dist/development/src/modifications/entities/CreateEntityModification.cjs.map +1 -0
- package/dist/development/src/modifications/entities/CreateEntityModification.js +73 -0
- package/dist/development/src/modifications/entities/CreateEntityModification.js.map +1 -0
- package/dist/development/src/modifications/entities/CreateViewModification.cjs +66 -0
- package/dist/development/src/modifications/entities/CreateViewModification.cjs.map +1 -0
- package/dist/development/src/modifications/entities/CreateViewModification.js +66 -0
- package/dist/development/src/modifications/entities/CreateViewModification.js.map +1 -0
- package/dist/development/src/modifications/entities/RemoveEntityModification.cjs +100 -0
- package/dist/development/src/modifications/entities/RemoveEntityModification.cjs.map +1 -0
- package/dist/development/src/modifications/entities/RemoveEntityModification.js +100 -0
- package/dist/development/src/modifications/entities/RemoveEntityModification.js.map +1 -0
- package/dist/development/src/modifications/entities/ToggleEventLogModification.cjs +69 -0
- package/dist/development/src/modifications/entities/ToggleEventLogModification.cjs.map +1 -0
- package/dist/development/src/modifications/entities/ToggleEventLogModification.js +69 -0
- package/dist/development/src/modifications/entities/ToggleEventLogModification.js.map +1 -0
- package/dist/development/src/modifications/entities/UpdateEntityNameModification.cjs +99 -0
- package/dist/development/src/modifications/entities/UpdateEntityNameModification.cjs.map +1 -0
- package/dist/development/src/modifications/entities/UpdateEntityNameModification.js +99 -0
- package/dist/development/src/modifications/entities/UpdateEntityNameModification.js.map +1 -0
- package/dist/development/src/modifications/entities/UpdateEntityOrderByModification.cjs +61 -0
- package/dist/development/src/modifications/entities/UpdateEntityOrderByModification.cjs.map +1 -0
- package/dist/development/src/modifications/entities/UpdateEntityOrderByModification.js +61 -0
- package/dist/development/src/modifications/entities/UpdateEntityOrderByModification.js.map +1 -0
- package/dist/development/src/modifications/entities/UpdateEntityTableNameModification.cjs +47 -0
- package/dist/development/src/modifications/entities/UpdateEntityTableNameModification.cjs.map +1 -0
- package/dist/development/src/modifications/entities/UpdateEntityTableNameModification.js +47 -0
- package/dist/development/src/modifications/entities/UpdateEntityTableNameModification.js.map +1 -0
- package/dist/development/src/modifications/entities/UpdateViewModification.cjs +38 -0
- package/dist/development/src/modifications/entities/UpdateViewModification.cjs.map +1 -0
- package/dist/development/src/modifications/entities/UpdateViewModification.js +38 -0
- package/dist/development/src/modifications/entities/UpdateViewModification.js.map +1 -0
- package/dist/development/src/modifications/enums/CreateEnumModification.cjs +45 -0
- package/dist/development/src/modifications/enums/CreateEnumModification.cjs.map +1 -0
- package/dist/development/src/modifications/enums/CreateEnumModification.js +45 -0
- package/dist/development/src/modifications/enums/CreateEnumModification.js.map +1 -0
- package/dist/development/src/modifications/enums/RemoveEnumModification.cjs +38 -0
- package/dist/development/src/modifications/enums/RemoveEnumModification.cjs.map +1 -0
- package/dist/development/src/modifications/enums/RemoveEnumModification.js +38 -0
- package/dist/development/src/modifications/enums/RemoveEnumModification.js.map +1 -0
- package/dist/development/src/modifications/enums/UpdateEnumModification.cjs +50 -0
- package/dist/development/src/modifications/enums/UpdateEnumModification.cjs.map +1 -0
- package/dist/development/src/modifications/enums/UpdateEnumModification.js +50 -0
- package/dist/development/src/modifications/enums/UpdateEnumModification.js.map +1 -0
- package/dist/development/src/modifications/enums/enumUtils.cjs +11 -0
- package/dist/development/src/modifications/enums/enumUtils.cjs.map +1 -0
- package/dist/development/src/modifications/enums/enumUtils.js +11 -0
- package/dist/development/src/modifications/enums/enumUtils.js.map +1 -0
- package/dist/development/src/modifications/exceptions.cjs +6 -0
- package/dist/development/src/modifications/exceptions.cjs.map +1 -0
- package/dist/development/src/modifications/exceptions.js +6 -0
- package/dist/development/src/modifications/exceptions.js.map +1 -0
- package/dist/development/src/modifications/fields/RemoveFieldModification.cjs +72 -0
- package/dist/development/src/modifications/fields/RemoveFieldModification.cjs.map +1 -0
- package/dist/development/src/modifications/fields/RemoveFieldModification.js +72 -0
- package/dist/development/src/modifications/fields/RemoveFieldModification.js.map +1 -0
- package/dist/development/src/modifications/fields/UpdateFieldNameModification.cjs +146 -0
- package/dist/development/src/modifications/fields/UpdateFieldNameModification.cjs.map +1 -0
- package/dist/development/src/modifications/fields/UpdateFieldNameModification.js +146 -0
- package/dist/development/src/modifications/fields/UpdateFieldNameModification.js.map +1 -0
- package/dist/development/src/modifications/indexes/CreateIndexModification.cjs +63 -0
- package/dist/development/src/modifications/indexes/CreateIndexModification.cjs.map +1 -0
- package/dist/development/src/modifications/indexes/CreateIndexModification.js +63 -0
- package/dist/development/src/modifications/indexes/CreateIndexModification.js.map +1 -0
- package/dist/development/src/modifications/indexes/RemoveIndexModification.cjs +82 -0
- package/dist/development/src/modifications/indexes/RemoveIndexModification.cjs.map +1 -0
- package/dist/development/src/modifications/indexes/RemoveIndexModification.js +82 -0
- package/dist/development/src/modifications/indexes/RemoveIndexModification.js.map +1 -0
- package/dist/development/src/modifications/indexes/utils.cjs +32 -0
- package/dist/development/src/modifications/indexes/utils.cjs.map +1 -0
- package/dist/development/src/modifications/indexes/utils.js +32 -0
- package/dist/development/src/modifications/indexes/utils.js.map +1 -0
- package/dist/development/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.cjs +97 -0
- package/dist/development/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.cjs.map +1 -0
- package/dist/development/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.js +97 -0
- package/dist/development/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.js.map +1 -0
- package/dist/development/src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.cjs +119 -0
- package/dist/development/src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.cjs.map +1 -0
- package/dist/development/src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.js +119 -0
- package/dist/development/src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.js.map +1 -0
- package/dist/development/src/modifications/relations/ConvertOneToManyRelationModification.cjs +117 -0
- package/dist/development/src/modifications/relations/ConvertOneToManyRelationModification.cjs.map +1 -0
- package/dist/development/src/modifications/relations/ConvertOneToManyRelationModification.js +117 -0
- package/dist/development/src/modifications/relations/ConvertOneToManyRelationModification.js.map +1 -0
- package/dist/development/src/modifications/relations/CreateRelationInverseSideModification.cjs +50 -0
- package/dist/development/src/modifications/relations/CreateRelationInverseSideModification.cjs.map +1 -0
- package/dist/development/src/modifications/relations/CreateRelationInverseSideModification.js +50 -0
- package/dist/development/src/modifications/relations/CreateRelationInverseSideModification.js.map +1 -0
- package/dist/development/src/modifications/relations/CreateRelationModification.cjs +111 -0
- package/dist/development/src/modifications/relations/CreateRelationModification.cjs.map +1 -0
- package/dist/development/src/modifications/relations/CreateRelationModification.js +111 -0
- package/dist/development/src/modifications/relations/CreateRelationModification.js.map +1 -0
- package/dist/development/src/modifications/relations/DisableOrphanRemovalModification.cjs +50 -0
- package/dist/development/src/modifications/relations/DisableOrphanRemovalModification.cjs.map +1 -0
- package/dist/development/src/modifications/relations/DisableOrphanRemovalModification.js +50 -0
- package/dist/development/src/modifications/relations/DisableOrphanRemovalModification.js.map +1 -0
- package/dist/development/src/modifications/relations/EnableOrphanRemovalModification.cjs +53 -0
- package/dist/development/src/modifications/relations/EnableOrphanRemovalModification.cjs.map +1 -0
- package/dist/development/src/modifications/relations/EnableOrphanRemovalModification.js +53 -0
- package/dist/development/src/modifications/relations/EnableOrphanRemovalModification.js.map +1 -0
- package/dist/development/src/modifications/relations/MakeRelationNotNullModification.cjs +65 -0
- package/dist/development/src/modifications/relations/MakeRelationNotNullModification.cjs.map +1 -0
- package/dist/development/src/modifications/relations/MakeRelationNotNullModification.js +65 -0
- package/dist/development/src/modifications/relations/MakeRelationNotNullModification.js.map +1 -0
- package/dist/development/src/modifications/relations/MakeRelationNullableModification.cjs +64 -0
- package/dist/development/src/modifications/relations/MakeRelationNullableModification.cjs.map +1 -0
- package/dist/development/src/modifications/relations/MakeRelationNullableModification.js +64 -0
- package/dist/development/src/modifications/relations/MakeRelationNullableModification.js.map +1 -0
- package/dist/development/src/modifications/relations/ToggleJunctionEventLogModification.cjs +84 -0
- package/dist/development/src/modifications/relations/ToggleJunctionEventLogModification.cjs.map +1 -0
- package/dist/development/src/modifications/relations/ToggleJunctionEventLogModification.js +84 -0
- package/dist/development/src/modifications/relations/ToggleJunctionEventLogModification.js.map +1 -0
- package/dist/development/src/modifications/relations/UpdateRelationOnDeleteModification.cjs +74 -0
- package/dist/development/src/modifications/relations/UpdateRelationOnDeleteModification.cjs.map +1 -0
- package/dist/development/src/modifications/relations/UpdateRelationOnDeleteModification.js +74 -0
- package/dist/development/src/modifications/relations/UpdateRelationOnDeleteModification.js.map +1 -0
- package/dist/development/src/modifications/relations/UpdateRelationOrderByModification.cjs +53 -0
- package/dist/development/src/modifications/relations/UpdateRelationOrderByModification.cjs.map +1 -0
- package/dist/development/src/modifications/relations/UpdateRelationOrderByModification.js +53 -0
- package/dist/development/src/modifications/relations/UpdateRelationOrderByModification.js.map +1 -0
- package/dist/development/src/modifications/relations/helpers.cjs +30 -0
- package/dist/development/src/modifications/relations/helpers.cjs.map +1 -0
- package/dist/development/src/modifications/relations/helpers.js +30 -0
- package/dist/development/src/modifications/relations/helpers.js.map +1 -0
- package/dist/development/src/modifications/relations/normalization.cjs +15 -0
- package/dist/development/src/modifications/relations/normalization.cjs.map +1 -0
- package/dist/development/src/modifications/relations/normalization.js +15 -0
- package/dist/development/src/modifications/relations/normalization.js.map +1 -0
- package/dist/development/src/modifications/settings/UpdateSettingsModification.cjs +59 -0
- package/dist/development/src/modifications/settings/UpdateSettingsModification.cjs.map +1 -0
- package/dist/development/src/modifications/settings/UpdateSettingsModification.js +59 -0
- package/dist/development/src/modifications/settings/UpdateSettingsModification.js.map +1 -0
- package/dist/development/src/modifications/upgrade/RemoveIndexNamesModification.cjs +43 -0
- package/dist/development/src/modifications/upgrade/RemoveIndexNamesModification.cjs.map +1 -0
- package/dist/development/src/modifications/upgrade/RemoveIndexNamesModification.js +43 -0
- package/dist/development/src/modifications/upgrade/RemoveIndexNamesModification.js.map +1 -0
- package/dist/development/src/modifications/utils/columnUtils.cjs +6 -0
- package/dist/development/src/modifications/utils/columnUtils.cjs.map +1 -0
- package/dist/development/src/modifications/utils/columnUtils.js +6 -0
- package/dist/development/src/modifications/utils/columnUtils.js.map +1 -0
- package/dist/development/src/modifications/utils/createJunctionTable.cjs +37 -0
- package/dist/development/src/modifications/utils/createJunctionTable.cjs.map +1 -0
- package/dist/development/src/modifications/utils/createJunctionTable.js +37 -0
- package/dist/development/src/modifications/utils/createJunctionTable.js.map +1 -0
- package/dist/development/src/modifications/utils/diffUtils.cjs +80 -0
- package/dist/development/src/modifications/utils/diffUtils.cjs.map +1 -0
- package/dist/development/src/modifications/utils/diffUtils.js +80 -0
- package/dist/development/src/modifications/utils/diffUtils.js.map +1 -0
- package/dist/development/src/modifications/utils/getPrimaryColumnType.cjs +8 -0
- package/dist/development/src/modifications/utils/getPrimaryColumnType.cjs.map +1 -0
- package/dist/development/src/modifications/utils/getPrimaryColumnType.js +8 -0
- package/dist/development/src/modifications/utils/getPrimaryColumnType.js.map +1 -0
- package/dist/development/src/modifications/utils/schemaUpdateUtils.cjs +196 -0
- package/dist/development/src/modifications/utils/schemaUpdateUtils.cjs.map +1 -0
- package/dist/development/src/modifications/utils/schemaUpdateUtils.js +196 -0
- package/dist/development/src/modifications/utils/schemaUpdateUtils.js.map +1 -0
- package/dist/development/src/modifications/utils/sqlUpdateUtils.cjs +39 -0
- package/dist/development/src/modifications/utils/sqlUpdateUtils.cjs.map +1 -0
- package/dist/development/src/modifications/utils/sqlUpdateUtils.js +39 -0
- package/dist/development/src/modifications/utils/sqlUpdateUtils.js.map +1 -0
- package/dist/development/src/modifications/utils/valueUtils.cjs +5 -0
- package/dist/development/src/modifications/utils/valueUtils.cjs.map +1 -0
- package/dist/development/src/modifications/utils/valueUtils.js +5 -0
- package/dist/development/src/modifications/utils/valueUtils.js.map +1 -0
- package/dist/development/src/modifications/utils/viewDependencies.cjs +46 -0
- package/dist/development/src/modifications/utils/viewDependencies.cjs.map +1 -0
- package/dist/development/src/modifications/utils/viewDependencies.js +46 -0
- package/dist/development/src/modifications/utils/viewDependencies.js.map +1 -0
- package/dist/development/src/modifications/validation/PatchValidationSchemaModification.cjs +35 -0
- package/dist/development/src/modifications/validation/PatchValidationSchemaModification.cjs.map +1 -0
- package/dist/development/src/modifications/validation/PatchValidationSchemaModification.js +35 -0
- package/dist/development/src/modifications/validation/PatchValidationSchemaModification.js.map +1 -0
- package/dist/development/src/modifications/validation/UpdateValidationSchemaModification.cjs +42 -0
- package/dist/development/src/modifications/validation/UpdateValidationSchemaModification.cjs.map +1 -0
- package/dist/development/src/modifications/validation/UpdateValidationSchemaModification.js +42 -0
- package/dist/development/src/modifications/validation/UpdateValidationSchemaModification.js.map +1 -0
- package/dist/development/src/utils/dbHelpers.cjs +5 -0
- package/dist/development/src/utils/dbHelpers.cjs.map +1 -0
- package/dist/development/src/utils/dbHelpers.js +5 -0
- package/dist/development/src/utils/dbHelpers.js.map +1 -0
- package/dist/development/src/utils/deepCopy.cjs +14 -0
- package/dist/development/src/utils/deepCopy.cjs.map +1 -0
- package/dist/development/src/utils/deepCopy.js +15 -0
- package/dist/development/src/utils/deepCopy.js.map +1 -0
- package/dist/development/src/utils/escapeSqlString.cjs +7 -0
- package/dist/development/src/utils/escapeSqlString.cjs.map +1 -0
- package/dist/development/src/utils/escapeSqlString.js +7 -0
- package/dist/development/src/utils/escapeSqlString.js.map +1 -0
- package/dist/development/src/utils/isDefined.cjs +5 -0
- package/dist/development/src/utils/isDefined.cjs.map +1 -0
- package/dist/development/src/utils/isDefined.js +5 -0
- package/dist/development/src/utils/isDefined.js.map +1 -0
- package/dist/development/src/utils/isIt.cjs +7 -0
- package/dist/development/src/utils/isIt.cjs.map +1 -0
- package/dist/development/src/utils/isIt.js +7 -0
- package/dist/development/src/utils/isIt.js.map +1 -0
- package/dist/production/index.cjs +167 -0
- package/dist/production/index.cjs.map +1 -0
- package/dist/production/index.js +161 -0
- package/dist/production/index.js.map +1 -0
- package/dist/production/src/Migration.cjs +9 -0
- package/dist/production/src/Migration.cjs.map +1 -0
- package/dist/production/src/Migration.js +9 -0
- package/dist/production/src/Migration.js.map +1 -0
- package/dist/production/src/MigrationDescriber.cjs +67 -0
- package/dist/production/src/MigrationDescriber.cjs.map +1 -0
- package/dist/production/src/MigrationDescriber.js +67 -0
- package/dist/production/src/MigrationDescriber.js.map +1 -0
- package/dist/production/src/SchemaDiffer.cjs +149 -0
- package/dist/production/src/SchemaDiffer.cjs.map +1 -0
- package/dist/production/src/SchemaDiffer.js +149 -0
- package/dist/production/src/SchemaDiffer.js.map +1 -0
- package/dist/production/src/SchemaMigrator.cjs +19 -0
- package/dist/production/src/SchemaMigrator.cjs.map +1 -0
- package/dist/production/src/SchemaMigrator.js +19 -0
- package/dist/production/src/SchemaMigrator.js.map +1 -0
- package/dist/production/src/exceptions.cjs +6 -0
- package/dist/production/src/exceptions.cjs.map +1 -0
- package/dist/production/src/exceptions.js +6 -0
- package/dist/production/src/exceptions.js.map +1 -0
- package/dist/production/src/modifications/ModificationHandler.cjs +13 -0
- package/dist/production/src/modifications/ModificationHandler.cjs.map +1 -0
- package/dist/production/src/modifications/ModificationHandler.js +13 -0
- package/dist/production/src/modifications/ModificationHandler.js.map +1 -0
- package/dist/production/src/modifications/ModificationHandlerFactory.cjs +109 -0
- package/dist/production/src/modifications/ModificationHandlerFactory.cjs.map +1 -0
- package/dist/production/src/modifications/ModificationHandlerFactory.js +109 -0
- package/dist/production/src/modifications/ModificationHandlerFactory.js.map +1 -0
- package/dist/production/src/modifications/ModificationVersions.cjs +19 -0
- package/dist/production/src/modifications/ModificationVersions.cjs.map +1 -0
- package/dist/production/src/modifications/ModificationVersions.js +19 -0
- package/dist/production/src/modifications/ModificationVersions.js.map +1 -0
- package/dist/production/src/modifications/NoopModification.cjs +14 -0
- package/dist/production/src/modifications/NoopModification.cjs.map +1 -0
- package/dist/production/src/modifications/NoopModification.js +14 -0
- package/dist/production/src/modifications/NoopModification.js.map +1 -0
- package/dist/production/src/modifications/acl/PatchAclSchemaModification.cjs +35 -0
- package/dist/production/src/modifications/acl/PatchAclSchemaModification.cjs.map +1 -0
- package/dist/production/src/modifications/acl/PatchAclSchemaModification.js +35 -0
- package/dist/production/src/modifications/acl/PatchAclSchemaModification.js.map +1 -0
- package/dist/production/src/modifications/acl/UpdateAclSchemaModification.cjs +42 -0
- package/dist/production/src/modifications/acl/UpdateAclSchemaModification.cjs.map +1 -0
- package/dist/production/src/modifications/acl/UpdateAclSchemaModification.js +42 -0
- package/dist/production/src/modifications/acl/UpdateAclSchemaModification.js.map +1 -0
- package/dist/production/src/modifications/actions/CreateTargetModification.cjs +38 -0
- package/dist/production/src/modifications/actions/CreateTargetModification.cjs.map +1 -0
- package/dist/production/src/modifications/actions/CreateTargetModification.js +38 -0
- package/dist/production/src/modifications/actions/CreateTargetModification.js.map +1 -0
- package/dist/production/src/modifications/actions/CreateTriggerModification.cjs +38 -0
- package/dist/production/src/modifications/actions/CreateTriggerModification.cjs.map +1 -0
- package/dist/production/src/modifications/actions/CreateTriggerModification.js +38 -0
- package/dist/production/src/modifications/actions/CreateTriggerModification.js.map +1 -0
- package/dist/production/src/modifications/actions/RemoveTargetModification.cjs +38 -0
- package/dist/production/src/modifications/actions/RemoveTargetModification.cjs.map +1 -0
- package/dist/production/src/modifications/actions/RemoveTargetModification.js +38 -0
- package/dist/production/src/modifications/actions/RemoveTargetModification.js.map +1 -0
- package/dist/production/src/modifications/actions/RemoveTriggerModification.cjs +38 -0
- package/dist/production/src/modifications/actions/RemoveTriggerModification.cjs.map +1 -0
- package/dist/production/src/modifications/actions/RemoveTriggerModification.js +38 -0
- package/dist/production/src/modifications/actions/RemoveTriggerModification.js.map +1 -0
- package/dist/production/src/modifications/actions/UpdateTargetModification.cjs +41 -0
- package/dist/production/src/modifications/actions/UpdateTargetModification.cjs.map +1 -0
- package/dist/production/src/modifications/actions/UpdateTargetModification.js +41 -0
- package/dist/production/src/modifications/actions/UpdateTargetModification.js.map +1 -0
- package/dist/production/src/modifications/actions/UpdateTriggerModification.cjs +41 -0
- package/dist/production/src/modifications/actions/UpdateTriggerModification.cjs.map +1 -0
- package/dist/production/src/modifications/actions/UpdateTriggerModification.js +41 -0
- package/dist/production/src/modifications/actions/UpdateTriggerModification.js.map +1 -0
- package/dist/production/src/modifications/columns/CreateColumnModification.cjs +85 -0
- package/dist/production/src/modifications/columns/CreateColumnModification.cjs.map +1 -0
- package/dist/production/src/modifications/columns/CreateColumnModification.js +85 -0
- package/dist/production/src/modifications/columns/CreateColumnModification.js.map +1 -0
- package/dist/production/src/modifications/columns/UpdateColumnDefinitionModification.cjs +136 -0
- package/dist/production/src/modifications/columns/UpdateColumnDefinitionModification.cjs.map +1 -0
- package/dist/production/src/modifications/columns/UpdateColumnDefinitionModification.js +136 -0
- package/dist/production/src/modifications/columns/UpdateColumnDefinitionModification.js.map +1 -0
- package/dist/production/src/modifications/columns/UpdateColumnNameModification.cjs +119 -0
- package/dist/production/src/modifications/columns/UpdateColumnNameModification.cjs.map +1 -0
- package/dist/production/src/modifications/columns/UpdateColumnNameModification.js +119 -0
- package/dist/production/src/modifications/columns/UpdateColumnNameModification.js.map +1 -0
- package/dist/production/src/modifications/columns/columnUtils.cjs +29 -0
- package/dist/production/src/modifications/columns/columnUtils.cjs.map +1 -0
- package/dist/production/src/modifications/columns/columnUtils.js +29 -0
- package/dist/production/src/modifications/columns/columnUtils.js.map +1 -0
- package/dist/production/src/modifications/constraints/CreateUniqueConstraintModification.cjs +70 -0
- package/dist/production/src/modifications/constraints/CreateUniqueConstraintModification.cjs.map +1 -0
- package/dist/production/src/modifications/constraints/CreateUniqueConstraintModification.js +70 -0
- package/dist/production/src/modifications/constraints/CreateUniqueConstraintModification.js.map +1 -0
- package/dist/production/src/modifications/constraints/RemoveUniqueConstraintModification.cjs +80 -0
- package/dist/production/src/modifications/constraints/RemoveUniqueConstraintModification.cjs.map +1 -0
- package/dist/production/src/modifications/constraints/RemoveUniqueConstraintModification.js +80 -0
- package/dist/production/src/modifications/constraints/RemoveUniqueConstraintModification.js.map +1 -0
- package/dist/production/src/modifications/constraints/utils.cjs +34 -0
- package/dist/production/src/modifications/constraints/utils.cjs.map +1 -0
- package/dist/production/src/modifications/constraints/utils.js +34 -0
- package/dist/production/src/modifications/constraints/utils.js.map +1 -0
- package/dist/production/src/modifications/differs/RemoveChangedFieldDiffer.cjs +30 -0
- package/dist/production/src/modifications/differs/RemoveChangedFieldDiffer.cjs.map +1 -0
- package/dist/production/src/modifications/differs/RemoveChangedFieldDiffer.js +30 -0
- package/dist/production/src/modifications/differs/RemoveChangedFieldDiffer.js.map +1 -0
- package/dist/production/src/modifications/differs/RemoveViewDiffer.cjs +42 -0
- package/dist/production/src/modifications/differs/RemoveViewDiffer.cjs.map +1 -0
- package/dist/production/src/modifications/differs/RemoveViewDiffer.js +42 -0
- package/dist/production/src/modifications/differs/RemoveViewDiffer.js.map +1 -0
- package/dist/production/src/modifications/entities/CreateEntityModification.cjs +73 -0
- package/dist/production/src/modifications/entities/CreateEntityModification.cjs.map +1 -0
- package/dist/production/src/modifications/entities/CreateEntityModification.js +73 -0
- package/dist/production/src/modifications/entities/CreateEntityModification.js.map +1 -0
- package/dist/production/src/modifications/entities/CreateViewModification.cjs +66 -0
- package/dist/production/src/modifications/entities/CreateViewModification.cjs.map +1 -0
- package/dist/production/src/modifications/entities/CreateViewModification.js +66 -0
- package/dist/production/src/modifications/entities/CreateViewModification.js.map +1 -0
- package/dist/production/src/modifications/entities/RemoveEntityModification.cjs +100 -0
- package/dist/production/src/modifications/entities/RemoveEntityModification.cjs.map +1 -0
- package/dist/production/src/modifications/entities/RemoveEntityModification.js +100 -0
- package/dist/production/src/modifications/entities/RemoveEntityModification.js.map +1 -0
- package/dist/production/src/modifications/entities/ToggleEventLogModification.cjs +69 -0
- package/dist/production/src/modifications/entities/ToggleEventLogModification.cjs.map +1 -0
- package/dist/production/src/modifications/entities/ToggleEventLogModification.js +69 -0
- package/dist/production/src/modifications/entities/ToggleEventLogModification.js.map +1 -0
- package/dist/production/src/modifications/entities/UpdateEntityNameModification.cjs +99 -0
- package/dist/production/src/modifications/entities/UpdateEntityNameModification.cjs.map +1 -0
- package/dist/production/src/modifications/entities/UpdateEntityNameModification.js +99 -0
- package/dist/production/src/modifications/entities/UpdateEntityNameModification.js.map +1 -0
- package/dist/production/src/modifications/entities/UpdateEntityOrderByModification.cjs +61 -0
- package/dist/production/src/modifications/entities/UpdateEntityOrderByModification.cjs.map +1 -0
- package/dist/production/src/modifications/entities/UpdateEntityOrderByModification.js +61 -0
- package/dist/production/src/modifications/entities/UpdateEntityOrderByModification.js.map +1 -0
- package/dist/production/src/modifications/entities/UpdateEntityTableNameModification.cjs +47 -0
- package/dist/production/src/modifications/entities/UpdateEntityTableNameModification.cjs.map +1 -0
- package/dist/production/src/modifications/entities/UpdateEntityTableNameModification.js +47 -0
- package/dist/production/src/modifications/entities/UpdateEntityTableNameModification.js.map +1 -0
- package/dist/production/src/modifications/entities/UpdateViewModification.cjs +38 -0
- package/dist/production/src/modifications/entities/UpdateViewModification.cjs.map +1 -0
- package/dist/production/src/modifications/entities/UpdateViewModification.js +38 -0
- package/dist/production/src/modifications/entities/UpdateViewModification.js.map +1 -0
- package/dist/production/src/modifications/enums/CreateEnumModification.cjs +45 -0
- package/dist/production/src/modifications/enums/CreateEnumModification.cjs.map +1 -0
- package/dist/production/src/modifications/enums/CreateEnumModification.js +45 -0
- package/dist/production/src/modifications/enums/CreateEnumModification.js.map +1 -0
- package/dist/production/src/modifications/enums/RemoveEnumModification.cjs +38 -0
- package/dist/production/src/modifications/enums/RemoveEnumModification.cjs.map +1 -0
- package/dist/production/src/modifications/enums/RemoveEnumModification.js +38 -0
- package/dist/production/src/modifications/enums/RemoveEnumModification.js.map +1 -0
- package/dist/production/src/modifications/enums/UpdateEnumModification.cjs +50 -0
- package/dist/production/src/modifications/enums/UpdateEnumModification.cjs.map +1 -0
- package/dist/production/src/modifications/enums/UpdateEnumModification.js +50 -0
- package/dist/production/src/modifications/enums/UpdateEnumModification.js.map +1 -0
- package/dist/production/src/modifications/enums/enumUtils.cjs +11 -0
- package/dist/production/src/modifications/enums/enumUtils.cjs.map +1 -0
- package/dist/production/src/modifications/enums/enumUtils.js +11 -0
- package/dist/production/src/modifications/enums/enumUtils.js.map +1 -0
- package/dist/production/src/modifications/exceptions.cjs +6 -0
- package/dist/production/src/modifications/exceptions.cjs.map +1 -0
- package/dist/production/src/modifications/exceptions.js +6 -0
- package/dist/production/src/modifications/exceptions.js.map +1 -0
- package/dist/production/src/modifications/fields/RemoveFieldModification.cjs +72 -0
- package/dist/production/src/modifications/fields/RemoveFieldModification.cjs.map +1 -0
- package/dist/production/src/modifications/fields/RemoveFieldModification.js +72 -0
- package/dist/production/src/modifications/fields/RemoveFieldModification.js.map +1 -0
- package/dist/production/src/modifications/fields/UpdateFieldNameModification.cjs +146 -0
- package/dist/production/src/modifications/fields/UpdateFieldNameModification.cjs.map +1 -0
- package/dist/production/src/modifications/fields/UpdateFieldNameModification.js +146 -0
- package/dist/production/src/modifications/fields/UpdateFieldNameModification.js.map +1 -0
- package/dist/production/src/modifications/indexes/CreateIndexModification.cjs +63 -0
- package/dist/production/src/modifications/indexes/CreateIndexModification.cjs.map +1 -0
- package/dist/production/src/modifications/indexes/CreateIndexModification.js +63 -0
- package/dist/production/src/modifications/indexes/CreateIndexModification.js.map +1 -0
- package/dist/production/src/modifications/indexes/RemoveIndexModification.cjs +82 -0
- package/dist/production/src/modifications/indexes/RemoveIndexModification.cjs.map +1 -0
- package/dist/production/src/modifications/indexes/RemoveIndexModification.js +82 -0
- package/dist/production/src/modifications/indexes/RemoveIndexModification.js.map +1 -0
- package/dist/production/src/modifications/indexes/utils.cjs +32 -0
- package/dist/production/src/modifications/indexes/utils.cjs.map +1 -0
- package/dist/production/src/modifications/indexes/utils.js +32 -0
- package/dist/production/src/modifications/indexes/utils.js.map +1 -0
- package/dist/production/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.cjs +97 -0
- package/dist/production/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.cjs.map +1 -0
- package/dist/production/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.js +97 -0
- package/dist/production/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.js.map +1 -0
- package/dist/production/src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.cjs +119 -0
- package/dist/production/src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.cjs.map +1 -0
- package/dist/production/src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.js +119 -0
- package/dist/production/src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.js.map +1 -0
- package/dist/production/src/modifications/relations/ConvertOneToManyRelationModification.cjs +117 -0
- package/dist/production/src/modifications/relations/ConvertOneToManyRelationModification.cjs.map +1 -0
- package/dist/production/src/modifications/relations/ConvertOneToManyRelationModification.js +117 -0
- package/dist/production/src/modifications/relations/ConvertOneToManyRelationModification.js.map +1 -0
- package/dist/production/src/modifications/relations/CreateRelationInverseSideModification.cjs +50 -0
- package/dist/production/src/modifications/relations/CreateRelationInverseSideModification.cjs.map +1 -0
- package/dist/production/src/modifications/relations/CreateRelationInverseSideModification.js +50 -0
- package/dist/production/src/modifications/relations/CreateRelationInverseSideModification.js.map +1 -0
- package/dist/production/src/modifications/relations/CreateRelationModification.cjs +111 -0
- package/dist/production/src/modifications/relations/CreateRelationModification.cjs.map +1 -0
- package/dist/production/src/modifications/relations/CreateRelationModification.js +111 -0
- package/dist/production/src/modifications/relations/CreateRelationModification.js.map +1 -0
- package/dist/production/src/modifications/relations/DisableOrphanRemovalModification.cjs +50 -0
- package/dist/production/src/modifications/relations/DisableOrphanRemovalModification.cjs.map +1 -0
- package/dist/production/src/modifications/relations/DisableOrphanRemovalModification.js +50 -0
- package/dist/production/src/modifications/relations/DisableOrphanRemovalModification.js.map +1 -0
- package/dist/production/src/modifications/relations/EnableOrphanRemovalModification.cjs +53 -0
- package/dist/production/src/modifications/relations/EnableOrphanRemovalModification.cjs.map +1 -0
- package/dist/production/src/modifications/relations/EnableOrphanRemovalModification.js +53 -0
- package/dist/production/src/modifications/relations/EnableOrphanRemovalModification.js.map +1 -0
- package/dist/production/src/modifications/relations/MakeRelationNotNullModification.cjs +65 -0
- package/dist/production/src/modifications/relations/MakeRelationNotNullModification.cjs.map +1 -0
- package/dist/production/src/modifications/relations/MakeRelationNotNullModification.js +65 -0
- package/dist/production/src/modifications/relations/MakeRelationNotNullModification.js.map +1 -0
- package/dist/production/src/modifications/relations/MakeRelationNullableModification.cjs +64 -0
- package/dist/production/src/modifications/relations/MakeRelationNullableModification.cjs.map +1 -0
- package/dist/production/src/modifications/relations/MakeRelationNullableModification.js +64 -0
- package/dist/production/src/modifications/relations/MakeRelationNullableModification.js.map +1 -0
- package/dist/production/src/modifications/relations/ToggleJunctionEventLogModification.cjs +84 -0
- package/dist/production/src/modifications/relations/ToggleJunctionEventLogModification.cjs.map +1 -0
- package/dist/production/src/modifications/relations/ToggleJunctionEventLogModification.js +84 -0
- package/dist/production/src/modifications/relations/ToggleJunctionEventLogModification.js.map +1 -0
- package/dist/production/src/modifications/relations/UpdateRelationOnDeleteModification.cjs +74 -0
- package/dist/production/src/modifications/relations/UpdateRelationOnDeleteModification.cjs.map +1 -0
- package/dist/production/src/modifications/relations/UpdateRelationOnDeleteModification.js +74 -0
- package/dist/production/src/modifications/relations/UpdateRelationOnDeleteModification.js.map +1 -0
- package/dist/production/src/modifications/relations/UpdateRelationOrderByModification.cjs +53 -0
- package/dist/production/src/modifications/relations/UpdateRelationOrderByModification.cjs.map +1 -0
- package/dist/production/src/modifications/relations/UpdateRelationOrderByModification.js +53 -0
- package/dist/production/src/modifications/relations/UpdateRelationOrderByModification.js.map +1 -0
- package/dist/production/src/modifications/relations/helpers.cjs +30 -0
- package/dist/production/src/modifications/relations/helpers.cjs.map +1 -0
- package/dist/production/src/modifications/relations/helpers.js +30 -0
- package/dist/production/src/modifications/relations/helpers.js.map +1 -0
- package/dist/production/src/modifications/relations/normalization.cjs +15 -0
- package/dist/production/src/modifications/relations/normalization.cjs.map +1 -0
- package/dist/production/src/modifications/relations/normalization.js +15 -0
- package/dist/production/src/modifications/relations/normalization.js.map +1 -0
- package/dist/production/src/modifications/settings/UpdateSettingsModification.cjs +59 -0
- package/dist/production/src/modifications/settings/UpdateSettingsModification.cjs.map +1 -0
- package/dist/production/src/modifications/settings/UpdateSettingsModification.js +59 -0
- package/dist/production/src/modifications/settings/UpdateSettingsModification.js.map +1 -0
- package/dist/production/src/modifications/upgrade/RemoveIndexNamesModification.cjs +43 -0
- package/dist/production/src/modifications/upgrade/RemoveIndexNamesModification.cjs.map +1 -0
- package/dist/production/src/modifications/upgrade/RemoveIndexNamesModification.js +43 -0
- package/dist/production/src/modifications/upgrade/RemoveIndexNamesModification.js.map +1 -0
- package/dist/production/src/modifications/utils/columnUtils.cjs +6 -0
- package/dist/production/src/modifications/utils/columnUtils.cjs.map +1 -0
- package/dist/production/src/modifications/utils/columnUtils.js +6 -0
- package/dist/production/src/modifications/utils/columnUtils.js.map +1 -0
- package/dist/production/src/modifications/utils/createJunctionTable.cjs +37 -0
- package/dist/production/src/modifications/utils/createJunctionTable.cjs.map +1 -0
- package/dist/production/src/modifications/utils/createJunctionTable.js +37 -0
- package/dist/production/src/modifications/utils/createJunctionTable.js.map +1 -0
- package/dist/production/src/modifications/utils/diffUtils.cjs +80 -0
- package/dist/production/src/modifications/utils/diffUtils.cjs.map +1 -0
- package/dist/production/src/modifications/utils/diffUtils.js +80 -0
- package/dist/production/src/modifications/utils/diffUtils.js.map +1 -0
- package/dist/production/src/modifications/utils/getPrimaryColumnType.cjs +8 -0
- package/dist/production/src/modifications/utils/getPrimaryColumnType.cjs.map +1 -0
- package/dist/production/src/modifications/utils/getPrimaryColumnType.js +8 -0
- package/dist/production/src/modifications/utils/getPrimaryColumnType.js.map +1 -0
- package/dist/production/src/modifications/utils/schemaUpdateUtils.cjs +196 -0
- package/dist/production/src/modifications/utils/schemaUpdateUtils.cjs.map +1 -0
- package/dist/production/src/modifications/utils/schemaUpdateUtils.js +196 -0
- package/dist/production/src/modifications/utils/schemaUpdateUtils.js.map +1 -0
- package/dist/production/src/modifications/utils/sqlUpdateUtils.cjs +39 -0
- package/dist/production/src/modifications/utils/sqlUpdateUtils.cjs.map +1 -0
- package/dist/production/src/modifications/utils/sqlUpdateUtils.js +39 -0
- package/dist/production/src/modifications/utils/sqlUpdateUtils.js.map +1 -0
- package/dist/production/src/modifications/utils/valueUtils.cjs +5 -0
- package/dist/production/src/modifications/utils/valueUtils.cjs.map +1 -0
- package/dist/production/src/modifications/utils/valueUtils.js +5 -0
- package/dist/production/src/modifications/utils/valueUtils.js.map +1 -0
- package/dist/production/src/modifications/utils/viewDependencies.cjs +46 -0
- package/dist/production/src/modifications/utils/viewDependencies.cjs.map +1 -0
- package/dist/production/src/modifications/utils/viewDependencies.js +46 -0
- package/dist/production/src/modifications/utils/viewDependencies.js.map +1 -0
- package/dist/production/src/modifications/validation/PatchValidationSchemaModification.cjs +35 -0
- package/dist/production/src/modifications/validation/PatchValidationSchemaModification.cjs.map +1 -0
- package/dist/production/src/modifications/validation/PatchValidationSchemaModification.js +35 -0
- package/dist/production/src/modifications/validation/PatchValidationSchemaModification.js.map +1 -0
- package/dist/production/src/modifications/validation/UpdateValidationSchemaModification.cjs +42 -0
- package/dist/production/src/modifications/validation/UpdateValidationSchemaModification.cjs.map +1 -0
- package/dist/production/src/modifications/validation/UpdateValidationSchemaModification.js +42 -0
- package/dist/production/src/modifications/validation/UpdateValidationSchemaModification.js.map +1 -0
- package/dist/production/src/utils/dbHelpers.cjs +5 -0
- package/dist/production/src/utils/dbHelpers.cjs.map +1 -0
- package/dist/production/src/utils/dbHelpers.js +5 -0
- package/dist/production/src/utils/dbHelpers.js.map +1 -0
- package/dist/production/src/utils/deepCopy.cjs +14 -0
- package/dist/production/src/utils/deepCopy.cjs.map +1 -0
- package/dist/production/src/utils/deepCopy.js +15 -0
- package/dist/production/src/utils/deepCopy.js.map +1 -0
- package/dist/production/src/utils/escapeSqlString.cjs +7 -0
- package/dist/production/src/utils/escapeSqlString.cjs.map +1 -0
- package/dist/production/src/utils/escapeSqlString.js +7 -0
- package/dist/production/src/utils/escapeSqlString.js.map +1 -0
- package/dist/production/src/utils/isDefined.cjs +5 -0
- package/dist/production/src/utils/isDefined.cjs.map +1 -0
- package/dist/production/src/utils/isDefined.js +5 -0
- package/dist/production/src/utils/isDefined.js.map +1 -0
- package/dist/production/src/utils/isIt.cjs +7 -0
- package/dist/production/src/utils/isIt.cjs.map +1 -0
- package/dist/production/src/utils/isIt.js +7 -0
- package/dist/production/src/utils/isIt.js.map +1 -0
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/dist/types/Migration.d.ts +20 -0
- package/dist/types/Migration.d.ts.map +1 -0
- package/dist/types/modifications/ModificationHandler.d.ts.map +1 -0
- package/dist/types/modifications/acl/UpdateAclSchemaModification.d.ts +20 -0
- package/dist/types/modifications/actions/CreateTargetModification.d.ts +20 -0
- package/dist/types/modifications/actions/CreateTriggerModification.d.ts +20 -0
- package/dist/types/modifications/actions/RemoveTargetModification.d.ts +20 -0
- package/dist/types/modifications/actions/RemoveTriggerModification.d.ts +20 -0
- package/dist/types/modifications/actions/UpdateTargetModification.d.ts +21 -0
- package/dist/types/modifications/actions/UpdateTriggerModification.d.ts +20 -0
- package/dist/types/modifications/columns/CreateColumnModification.d.ts +29 -0
- package/dist/types/modifications/columns/UpdateColumnDefinitionModification.d.ts +35 -0
- package/dist/types/modifications/columns/UpdateColumnNameModification.d.ts +24 -0
- package/dist/types/modifications/columns/columnUtils.d.ts +18 -0
- package/dist/types/modifications/columns/columnUtils.d.ts.map +1 -0
- package/dist/types/modifications/constraints/CreateUniqueConstraintModification.d.ts +26 -0
- package/dist/types/modifications/constraints/RemoveUniqueConstraintModification.d.ts +29 -0
- package/dist/types/modifications/constraints/utils.d.ts.map +1 -0
- package/dist/types/modifications/differs/RemoveChangedFieldDiffer.d.ts +8 -0
- package/dist/types/modifications/differs/RemoveViewDiffer.d.ts +12 -0
- package/dist/types/modifications/entities/CreateEntityModification.d.ts +24 -0
- package/dist/types/modifications/entities/RemoveEntityModification.d.ts +25 -0
- package/dist/types/modifications/entities/ToggleEventLogModification.d.ts +24 -0
- package/dist/types/modifications/entities/UpdateEntityOrderByModification.d.ts +23 -0
- package/dist/types/modifications/entities/UpdateEntityTableNameModification.d.ts +23 -0
- package/dist/types/modifications/enums/CreateEnumModification.d.ts +23 -0
- package/dist/types/modifications/enums/RemoveEnumModification.d.ts +22 -0
- package/dist/types/modifications/enums/UpdateEnumModification.d.ts +24 -0
- package/dist/types/modifications/fields/RemoveFieldModification.d.ts +25 -0
- package/dist/types/modifications/indexes/CreateIndexModification.d.ts +23 -0
- package/dist/types/modifications/indexes/RemoveIndexModification.d.ts +29 -0
- package/dist/types/modifications/indexes/utils.d.ts.map +1 -0
- package/dist/types/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.d.ts +29 -0
- package/dist/types/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.d.ts +28 -0
- package/dist/types/modifications/relations/ConvertOneToManyRelationModification.d.ts +27 -0
- package/dist/types/modifications/relations/CreateRelationInverseSideModification.d.ts +22 -0
- package/dist/types/modifications/relations/CreateRelationModification.d.ts +30 -0
- package/dist/types/modifications/relations/DisableOrphanRemovalModification.d.ts +22 -0
- package/dist/types/modifications/relations/EnableOrphanRemovalModification.d.ts +22 -0
- package/dist/types/modifications/relations/MakeRelationNotNullModification.d.ts +24 -0
- package/dist/types/modifications/relations/MakeRelationNullableModification.d.ts +23 -0
- package/dist/types/modifications/relations/ToggleJunctionEventLogModification.d.ts +24 -0
- package/dist/types/modifications/relations/UpdateRelationOnDeleteModification.d.ts +24 -0
- package/dist/types/modifications/relations/UpdateRelationOrderByModification.d.ts +23 -0
- package/dist/types/modifications/relations/helpers.d.ts +13 -0
- package/dist/types/modifications/relations/helpers.d.ts.map +1 -0
- package/dist/types/modifications/relations/normalization.d.ts.map +1 -0
- package/dist/types/modifications/settings/UpdateSettingsModification.d.ts +27 -0
- package/dist/types/modifications/utils/columnUtils.d.ts +3 -0
- package/dist/types/modifications/utils/columnUtils.d.ts.map +1 -0
- package/dist/types/modifications/utils/createJunctionTable.d.ts.map +1 -0
- package/dist/types/modifications/utils/diffUtils.d.ts.map +1 -0
- package/dist/types/modifications/utils/getPrimaryColumnType.d.ts.map +1 -0
- package/dist/types/modifications/utils/schemaUpdateUtils.d.ts.map +1 -0
- package/dist/types/modifications/utils/viewDependencies.d.ts.map +1 -0
- package/dist/types/modifications/validation/UpdateValidationSchemaModification.d.ts +20 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -0
- package/dist/types/utils/isDefined.d.ts +2 -0
- package/dist/types/utils/isDefined.d.ts.map +1 -0
- package/dist/types/utils/isIt.d.ts +2 -0
- package/dist/types/utils/isIt.d.ts.map +1 -0
- package/package.json +27 -15
- package/src/Migration.ts +2 -1
- package/src/tsconfig.json +1 -1
- package/vitest.config.ts +3 -0
- package/dist/src/Migration.d.ts +0 -20
- package/dist/src/Migration.d.ts.map +0 -1
- package/dist/src/Migration.js +0 -16
- package/dist/src/Migration.js.map +0 -1
- package/dist/src/MigrationDescriber.js +0 -52
- package/dist/src/MigrationDescriber.js.map +0 -1
- package/dist/src/SchemaDiffer.js +0 -112
- package/dist/src/SchemaDiffer.js.map +0 -1
- package/dist/src/SchemaMigrator.js +0 -20
- package/dist/src/SchemaMigrator.js.map +0 -1
- package/dist/src/exceptions.js +0 -7
- package/dist/src/exceptions.js.map +0 -1
- package/dist/src/index.js +0 -26
- package/dist/src/index.js.map +0 -1
- package/dist/src/modifications/ModificationHandler.d.ts.map +0 -1
- package/dist/src/modifications/ModificationHandler.js +0 -13
- package/dist/src/modifications/ModificationHandler.js.map +0 -1
- package/dist/src/modifications/ModificationHandlerFactory.js +0 -83
- package/dist/src/modifications/ModificationHandlerFactory.js.map +0 -1
- package/dist/src/modifications/ModificationVersions.js +0 -12
- package/dist/src/modifications/ModificationVersions.js.map +0 -1
- package/dist/src/modifications/NoopModification.js +0 -14
- package/dist/src/modifications/NoopModification.js.map +0 -1
- package/dist/src/modifications/acl/PatchAclSchemaModification.js +0 -37
- package/dist/src/modifications/acl/PatchAclSchemaModification.js.map +0 -1
- package/dist/src/modifications/acl/UpdateAclSchemaModification.d.ts +0 -20
- package/dist/src/modifications/acl/UpdateAclSchemaModification.js +0 -44
- package/dist/src/modifications/acl/UpdateAclSchemaModification.js.map +0 -1
- package/dist/src/modifications/acl/index.js +0 -19
- package/dist/src/modifications/acl/index.js.map +0 -1
- package/dist/src/modifications/actions/CreateTargetModification.d.ts +0 -20
- package/dist/src/modifications/actions/CreateTargetModification.js +0 -40
- package/dist/src/modifications/actions/CreateTargetModification.js.map +0 -1
- package/dist/src/modifications/actions/CreateTriggerModification.d.ts +0 -20
- package/dist/src/modifications/actions/CreateTriggerModification.js +0 -40
- package/dist/src/modifications/actions/CreateTriggerModification.js.map +0 -1
- package/dist/src/modifications/actions/RemoveTargetModification.d.ts +0 -20
- package/dist/src/modifications/actions/RemoveTargetModification.js +0 -40
- package/dist/src/modifications/actions/RemoveTargetModification.js.map +0 -1
- package/dist/src/modifications/actions/RemoveTriggerModification.d.ts +0 -20
- package/dist/src/modifications/actions/RemoveTriggerModification.js +0 -40
- package/dist/src/modifications/actions/RemoveTriggerModification.js.map +0 -1
- package/dist/src/modifications/actions/UpdateTargetModification.d.ts +0 -21
- package/dist/src/modifications/actions/UpdateTargetModification.js +0 -46
- package/dist/src/modifications/actions/UpdateTargetModification.js.map +0 -1
- package/dist/src/modifications/actions/UpdateTriggerModification.d.ts +0 -20
- package/dist/src/modifications/actions/UpdateTriggerModification.js +0 -46
- package/dist/src/modifications/actions/UpdateTriggerModification.js.map +0 -1
- package/dist/src/modifications/actions/index.js +0 -20
- package/dist/src/modifications/actions/index.js.map +0 -1
- package/dist/src/modifications/columns/CreateColumnModification.d.ts +0 -29
- package/dist/src/modifications/columns/CreateColumnModification.js +0 -88
- package/dist/src/modifications/columns/CreateColumnModification.js.map +0 -1
- package/dist/src/modifications/columns/UpdateColumnDefinitionModification.d.ts +0 -35
- package/dist/src/modifications/columns/UpdateColumnDefinitionModification.js +0 -126
- package/dist/src/modifications/columns/UpdateColumnDefinitionModification.js.map +0 -1
- package/dist/src/modifications/columns/UpdateColumnNameModification.d.ts +0 -24
- package/dist/src/modifications/columns/UpdateColumnNameModification.js +0 -106
- package/dist/src/modifications/columns/UpdateColumnNameModification.js.map +0 -1
- package/dist/src/modifications/columns/columnUtils.d.ts +0 -18
- package/dist/src/modifications/columns/columnUtils.d.ts.map +0 -1
- package/dist/src/modifications/columns/columnUtils.js +0 -32
- package/dist/src/modifications/columns/columnUtils.js.map +0 -1
- package/dist/src/modifications/columns/index.js +0 -20
- package/dist/src/modifications/columns/index.js.map +0 -1
- package/dist/src/modifications/constraints/CreateUniqueConstraintModification.d.ts +0 -26
- package/dist/src/modifications/constraints/CreateUniqueConstraintModification.js +0 -74
- package/dist/src/modifications/constraints/CreateUniqueConstraintModification.js.map +0 -1
- package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.d.ts +0 -29
- package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.js +0 -82
- package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.js.map +0 -1
- package/dist/src/modifications/constraints/index.js +0 -20
- package/dist/src/modifications/constraints/index.js.map +0 -1
- package/dist/src/modifications/constraints/utils.d.ts.map +0 -1
- package/dist/src/modifications/constraints/utils.js +0 -33
- package/dist/src/modifications/constraints/utils.js.map +0 -1
- package/dist/src/modifications/differs/RemoveChangedFieldDiffer.d.ts +0 -8
- package/dist/src/modifications/differs/RemoveChangedFieldDiffer.js +0 -31
- package/dist/src/modifications/differs/RemoveChangedFieldDiffer.js.map +0 -1
- package/dist/src/modifications/differs/RemoveViewDiffer.d.ts +0 -12
- package/dist/src/modifications/differs/RemoveViewDiffer.js +0 -48
- package/dist/src/modifications/differs/RemoveViewDiffer.js.map +0 -1
- package/dist/src/modifications/differs/index.js +0 -19
- package/dist/src/modifications/differs/index.js.map +0 -1
- package/dist/src/modifications/entities/CreateEntityModification.d.ts +0 -24
- package/dist/src/modifications/entities/CreateEntityModification.js +0 -79
- package/dist/src/modifications/entities/CreateEntityModification.js.map +0 -1
- package/dist/src/modifications/entities/CreateViewModification.js +0 -71
- package/dist/src/modifications/entities/CreateViewModification.js.map +0 -1
- package/dist/src/modifications/entities/RemoveEntityModification.d.ts +0 -25
- package/dist/src/modifications/entities/RemoveEntityModification.js +0 -85
- package/dist/src/modifications/entities/RemoveEntityModification.js.map +0 -1
- package/dist/src/modifications/entities/ToggleEventLogModification.d.ts +0 -24
- package/dist/src/modifications/entities/ToggleEventLogModification.js +0 -66
- package/dist/src/modifications/entities/ToggleEventLogModification.js.map +0 -1
- package/dist/src/modifications/entities/UpdateEntityNameModification.js +0 -79
- package/dist/src/modifications/entities/UpdateEntityNameModification.js.map +0 -1
- package/dist/src/modifications/entities/UpdateEntityOrderByModification.d.ts +0 -23
- package/dist/src/modifications/entities/UpdateEntityOrderByModification.js +0 -63
- package/dist/src/modifications/entities/UpdateEntityOrderByModification.js.map +0 -1
- package/dist/src/modifications/entities/UpdateEntityTableNameModification.d.ts +0 -23
- package/dist/src/modifications/entities/UpdateEntityTableNameModification.js +0 -45
- package/dist/src/modifications/entities/UpdateEntityTableNameModification.js.map +0 -1
- package/dist/src/modifications/entities/UpdateViewModification.js +0 -32
- package/dist/src/modifications/entities/UpdateViewModification.js.map +0 -1
- package/dist/src/modifications/entities/index.js +0 -24
- package/dist/src/modifications/entities/index.js.map +0 -1
- package/dist/src/modifications/enums/CreateEnumModification.d.ts +0 -23
- package/dist/src/modifications/enums/CreateEnumModification.js +0 -47
- package/dist/src/modifications/enums/CreateEnumModification.js.map +0 -1
- package/dist/src/modifications/enums/RemoveEnumModification.d.ts +0 -22
- package/dist/src/modifications/enums/RemoveEnumModification.js +0 -40
- package/dist/src/modifications/enums/RemoveEnumModification.js.map +0 -1
- package/dist/src/modifications/enums/UpdateEnumModification.d.ts +0 -24
- package/dist/src/modifications/enums/UpdateEnumModification.js +0 -56
- package/dist/src/modifications/enums/UpdateEnumModification.js.map +0 -1
- package/dist/src/modifications/enums/enumUtils.js +0 -12
- package/dist/src/modifications/enums/enumUtils.js.map +0 -1
- package/dist/src/modifications/enums/index.js +0 -20
- package/dist/src/modifications/enums/index.js.map +0 -1
- package/dist/src/modifications/exceptions.js +0 -7
- package/dist/src/modifications/exceptions.js.map +0 -1
- package/dist/src/modifications/fields/RemoveFieldModification.d.ts +0 -25
- package/dist/src/modifications/fields/RemoveFieldModification.js +0 -74
- package/dist/src/modifications/fields/RemoveFieldModification.js.map +0 -1
- package/dist/src/modifications/fields/UpdateFieldNameModification.js +0 -140
- package/dist/src/modifications/fields/UpdateFieldNameModification.js.map +0 -1
- package/dist/src/modifications/fields/index.js +0 -19
- package/dist/src/modifications/fields/index.js.map +0 -1
- package/dist/src/modifications/index.js +0 -32
- package/dist/src/modifications/index.js.map +0 -1
- package/dist/src/modifications/indexes/CreateIndexModification.d.ts +0 -23
- package/dist/src/modifications/indexes/CreateIndexModification.js +0 -64
- package/dist/src/modifications/indexes/CreateIndexModification.js.map +0 -1
- package/dist/src/modifications/indexes/RemoveIndexModification.d.ts +0 -29
- package/dist/src/modifications/indexes/RemoveIndexModification.js +0 -82
- package/dist/src/modifications/indexes/RemoveIndexModification.js.map +0 -1
- package/dist/src/modifications/indexes/index.js +0 -19
- package/dist/src/modifications/indexes/index.js.map +0 -1
- package/dist/src/modifications/indexes/utils.d.ts.map +0 -1
- package/dist/src/modifications/indexes/utils.js +0 -33
- package/dist/src/modifications/indexes/utils.js.map +0 -1
- package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.d.ts +0 -29
- package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.js +0 -88
- package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.js.map +0 -1
- package/dist/src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.d.ts +0 -28
- package/dist/src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.js +0 -98
- package/dist/src/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.js.map +0 -1
- package/dist/src/modifications/relations/ConvertOneToManyRelationModification.d.ts +0 -27
- package/dist/src/modifications/relations/ConvertOneToManyRelationModification.js +0 -96
- package/dist/src/modifications/relations/ConvertOneToManyRelationModification.js.map +0 -1
- package/dist/src/modifications/relations/CreateRelationInverseSideModification.d.ts +0 -22
- package/dist/src/modifications/relations/CreateRelationInverseSideModification.js +0 -43
- package/dist/src/modifications/relations/CreateRelationInverseSideModification.js.map +0 -1
- package/dist/src/modifications/relations/CreateRelationModification.d.ts +0 -30
- package/dist/src/modifications/relations/CreateRelationModification.js +0 -105
- package/dist/src/modifications/relations/CreateRelationModification.js.map +0 -1
- package/dist/src/modifications/relations/DisableOrphanRemovalModification.d.ts +0 -22
- package/dist/src/modifications/relations/DisableOrphanRemovalModification.js +0 -49
- package/dist/src/modifications/relations/DisableOrphanRemovalModification.js.map +0 -1
- package/dist/src/modifications/relations/EnableOrphanRemovalModification.d.ts +0 -22
- package/dist/src/modifications/relations/EnableOrphanRemovalModification.js +0 -52
- package/dist/src/modifications/relations/EnableOrphanRemovalModification.js.map +0 -1
- package/dist/src/modifications/relations/MakeRelationNotNullModification.d.ts +0 -24
- package/dist/src/modifications/relations/MakeRelationNotNullModification.js +0 -64
- package/dist/src/modifications/relations/MakeRelationNotNullModification.js.map +0 -1
- package/dist/src/modifications/relations/MakeRelationNullableModification.d.ts +0 -23
- package/dist/src/modifications/relations/MakeRelationNullableModification.js +0 -63
- package/dist/src/modifications/relations/MakeRelationNullableModification.js.map +0 -1
- package/dist/src/modifications/relations/ToggleJunctionEventLogModification.d.ts +0 -24
- package/dist/src/modifications/relations/ToggleJunctionEventLogModification.js +0 -83
- package/dist/src/modifications/relations/ToggleJunctionEventLogModification.js.map +0 -1
- package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.d.ts +0 -24
- package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.js +0 -68
- package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.js.map +0 -1
- package/dist/src/modifications/relations/UpdateRelationOrderByModification.d.ts +0 -23
- package/dist/src/modifications/relations/UpdateRelationOrderByModification.js +0 -53
- package/dist/src/modifications/relations/UpdateRelationOrderByModification.js.map +0 -1
- package/dist/src/modifications/relations/helpers.d.ts +0 -13
- package/dist/src/modifications/relations/helpers.d.ts.map +0 -1
- package/dist/src/modifications/relations/helpers.js +0 -29
- package/dist/src/modifications/relations/helpers.js.map +0 -1
- package/dist/src/modifications/relations/index.js +0 -28
- package/dist/src/modifications/relations/index.js.map +0 -1
- package/dist/src/modifications/relations/normalization.d.ts.map +0 -1
- package/dist/src/modifications/relations/normalization.js +0 -16
- package/dist/src/modifications/relations/normalization.js.map +0 -1
- package/dist/src/modifications/settings/UpdateSettingsModification.d.ts +0 -27
- package/dist/src/modifications/settings/UpdateSettingsModification.js +0 -64
- package/dist/src/modifications/settings/UpdateSettingsModification.js.map +0 -1
- package/dist/src/modifications/settings/index.js +0 -18
- package/dist/src/modifications/settings/index.js.map +0 -1
- package/dist/src/modifications/upgrade/RemoveIndexNamesModification.js +0 -40
- package/dist/src/modifications/upgrade/RemoveIndexNamesModification.js.map +0 -1
- package/dist/src/modifications/utils/columnUtils.d.ts +0 -3
- package/dist/src/modifications/utils/columnUtils.d.ts.map +0 -1
- package/dist/src/modifications/utils/columnUtils.js +0 -9
- package/dist/src/modifications/utils/columnUtils.js.map +0 -1
- package/dist/src/modifications/utils/createJunctionTable.d.ts.map +0 -1
- package/dist/src/modifications/utils/createJunctionTable.js +0 -35
- package/dist/src/modifications/utils/createJunctionTable.js.map +0 -1
- package/dist/src/modifications/utils/diffUtils.d.ts.map +0 -1
- package/dist/src/modifications/utils/diffUtils.js +0 -85
- package/dist/src/modifications/utils/diffUtils.js.map +0 -1
- package/dist/src/modifications/utils/getPrimaryColumnType.d.ts.map +0 -1
- package/dist/src/modifications/utils/getPrimaryColumnType.js +0 -9
- package/dist/src/modifications/utils/getPrimaryColumnType.js.map +0 -1
- package/dist/src/modifications/utils/schemaUpdateUtils.d.ts.map +0 -1
- package/dist/src/modifications/utils/schemaUpdateUtils.js +0 -177
- package/dist/src/modifications/utils/schemaUpdateUtils.js.map +0 -1
- package/dist/src/modifications/utils/sqlUpdateUtils.js +0 -40
- package/dist/src/modifications/utils/sqlUpdateUtils.js.map +0 -1
- package/dist/src/modifications/utils/stringArrayEquals.js +0 -9
- package/dist/src/modifications/utils/stringArrayEquals.js.map +0 -1
- package/dist/src/modifications/utils/valueUtils.js +0 -6
- package/dist/src/modifications/utils/valueUtils.js.map +0 -1
- package/dist/src/modifications/utils/viewDependencies.d.ts.map +0 -1
- package/dist/src/modifications/utils/viewDependencies.js +0 -46
- package/dist/src/modifications/utils/viewDependencies.js.map +0 -1
- package/dist/src/modifications/validation/PatchValidationSchemaModification.js +0 -37
- package/dist/src/modifications/validation/PatchValidationSchemaModification.js.map +0 -1
- package/dist/src/modifications/validation/UpdateValidationSchemaModification.d.ts +0 -20
- package/dist/src/modifications/validation/UpdateValidationSchemaModification.js +0 -44
- package/dist/src/modifications/validation/UpdateValidationSchemaModification.js.map +0 -1
- package/dist/src/modifications/validation/index.js +0 -19
- package/dist/src/modifications/validation/index.js.map +0 -1
- package/dist/src/tsconfig.tsbuildinfo +0 -1
- package/dist/src/utils/PartialEntity.js +0 -3
- package/dist/src/utils/PartialEntity.js.map +0 -1
- package/dist/src/utils/dbHelpers.js +0 -6
- package/dist/src/utils/dbHelpers.js.map +0 -1
- package/dist/src/utils/deepCopy.js +0 -20
- package/dist/src/utils/deepCopy.js.map +0 -1
- package/dist/src/utils/escapeSqlString.js +0 -8
- package/dist/src/utils/escapeSqlString.js.map +0 -1
- package/dist/src/utils/isDefined.d.ts +0 -2
- package/dist/src/utils/isDefined.d.ts.map +0 -1
- package/dist/src/utils/isDefined.js +0 -6
- package/dist/src/utils/isDefined.js.map +0 -1
- package/dist/src/utils/isIt.d.ts +0 -2
- package/dist/src/utils/isIt.d.ts.map +0 -1
- package/dist/src/utils/isIt.js +0 -11
- package/dist/src/utils/isIt.js.map +0 -1
- package/dist/tests/cases/integration/convertManyHasOneToOneHasOneRelation.test.js +0 -59
- package/dist/tests/cases/integration/convertManyHasOneToOneHasOneRelation.test.js.map +0 -1
- package/dist/tests/cases/integration/convertOneHasManyToManyHasManyRelation.test.js +0 -96
- package/dist/tests/cases/integration/convertOneHasManyToManyHasManyRelation.test.js.map +0 -1
- package/dist/tests/cases/integration/convertOneToManyRelation.test.js +0 -118
- package/dist/tests/cases/integration/convertOneToManyRelation.test.js.map +0 -1
- package/dist/tests/cases/integration/createAndDropIndex.test.js +0 -67
- package/dist/tests/cases/integration/createAndDropIndex.test.js.map +0 -1
- package/dist/tests/cases/integration/createColumn.test.js +0 -114
- package/dist/tests/cases/integration/createColumn.test.js.map +0 -1
- package/dist/tests/cases/integration/createEntity.test.js +0 -160
- package/dist/tests/cases/integration/createEntity.test.js.map +0 -1
- package/dist/tests/cases/integration/createEnum.test.js +0 -43
- package/dist/tests/cases/integration/createEnum.test.js.map +0 -1
- package/dist/tests/cases/integration/createManyHasMany.test.js +0 -112
- package/dist/tests/cases/integration/createManyHasMany.test.js.map +0 -1
- package/dist/tests/cases/integration/createManyHasOne.test.js +0 -93
- package/dist/tests/cases/integration/createManyHasOne.test.js.map +0 -1
- package/dist/tests/cases/integration/createOneHasMany.test.js +0 -123
- package/dist/tests/cases/integration/createOneHasMany.test.js.map +0 -1
- package/dist/tests/cases/integration/createOneHasOne.test.js +0 -149
- package/dist/tests/cases/integration/createOneHasOne.test.js.map +0 -1
- package/dist/tests/cases/integration/createRelationInverseSide.test.js +0 -84
- package/dist/tests/cases/integration/createRelationInverseSide.test.js.map +0 -1
- package/dist/tests/cases/integration/createUnique.test.js +0 -168
- package/dist/tests/cases/integration/createUnique.test.js.map +0 -1
- package/dist/tests/cases/integration/createView.test.js +0 -183
- package/dist/tests/cases/integration/createView.test.js.map +0 -1
- package/dist/tests/cases/integration/disableOrphanRemoval.test.js +0 -31
- package/dist/tests/cases/integration/disableOrphanRemoval.test.js.map +0 -1
- package/dist/tests/cases/integration/enableOrphanRemoval.test.js +0 -31
- package/dist/tests/cases/integration/enableOrphanRemoval.test.js.map +0 -1
- package/dist/tests/cases/integration/makeColumnNotNull.test.js +0 -33
- package/dist/tests/cases/integration/makeColumnNotNull.test.js.map +0 -1
- package/dist/tests/cases/integration/makeRelationNotNull.test.js +0 -32
- package/dist/tests/cases/integration/makeRelationNotNull.test.js.map +0 -1
- package/dist/tests/cases/integration/makeRelationNullable.test.js +0 -54
- package/dist/tests/cases/integration/makeRelationNullable.test.js.map +0 -1
- package/dist/tests/cases/integration/patchAclSchema.test.js +0 -63
- package/dist/tests/cases/integration/patchAclSchema.test.js.map +0 -1
- package/dist/tests/cases/integration/removeEntity.test.js +0 -131
- package/dist/tests/cases/integration/removeEntity.test.js.map +0 -1
- package/dist/tests/cases/integration/removeEnum.test.js +0 -36
- package/dist/tests/cases/integration/removeEnum.test.js.map +0 -1
- package/dist/tests/cases/integration/removeField.test.js +0 -217
- package/dist/tests/cases/integration/removeField.test.js.map +0 -1
- package/dist/tests/cases/integration/toggleEventLog.test.js +0 -68
- package/dist/tests/cases/integration/toggleEventLog.test.js.map +0 -1
- package/dist/tests/cases/integration/toggleJunctionEventLog.test.js +0 -75
- package/dist/tests/cases/integration/toggleJunctionEventLog.test.js.map +0 -1
- package/dist/tests/cases/integration/updateColumnDefinition.test.js +0 -253
- package/dist/tests/cases/integration/updateColumnDefinition.test.js.map +0 -1
- package/dist/tests/cases/integration/updateEntityName.test.js +0 -133
- package/dist/tests/cases/integration/updateEntityName.test.js.map +0 -1
- package/dist/tests/cases/integration/updateEntityOrderBy.test.js +0 -57
- package/dist/tests/cases/integration/updateEntityOrderBy.test.js.map +0 -1
- package/dist/tests/cases/integration/updateEnum.test.js +0 -34
- package/dist/tests/cases/integration/updateEnum.test.js.map +0 -1
- package/dist/tests/cases/integration/updateFieldName.test.js +0 -221
- package/dist/tests/cases/integration/updateFieldName.test.js.map +0 -1
- package/dist/tests/cases/integration/updateRelationOnDelete.test.js +0 -50
- package/dist/tests/cases/integration/updateRelationOnDelete.test.js.map +0 -1
- package/dist/tests/cases/integration/updateRelationOrderBy.test.js +0 -38
- package/dist/tests/cases/integration/updateRelationOrderBy.test.js.map +0 -1
- package/dist/tests/cases/integration/updateView.test.js +0 -559
- package/dist/tests/cases/integration/updateView.test.js.map +0 -1
- package/dist/tests/src/tags.js +0 -13
- package/dist/tests/src/tags.js.map +0 -1
- package/dist/tests/src/tests.js +0 -72
- package/dist/tests/src/tests.js.map +0 -1
- /package/dist/{src → types}/MigrationDescriber.d.ts +0 -0
- /package/dist/{src → types}/MigrationDescriber.d.ts.map +0 -0
- /package/dist/{src → types}/SchemaDiffer.d.ts +0 -0
- /package/dist/{src → types}/SchemaDiffer.d.ts.map +0 -0
- /package/dist/{src → types}/SchemaMigrator.d.ts +0 -0
- /package/dist/{src → types}/SchemaMigrator.d.ts.map +0 -0
- /package/dist/{src → types}/exceptions.d.ts +0 -0
- /package/dist/{src → types}/exceptions.d.ts.map +0 -0
- /package/dist/{src → types}/index.d.ts +0 -0
- /package/dist/{src → types}/index.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/ModificationHandler.d.ts +0 -0
- /package/dist/{src → types}/modifications/ModificationHandlerFactory.d.ts +0 -0
- /package/dist/{src → types}/modifications/ModificationHandlerFactory.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/ModificationVersions.d.ts +0 -0
- /package/dist/{src → types}/modifications/ModificationVersions.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/NoopModification.d.ts +0 -0
- /package/dist/{src → types}/modifications/NoopModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/acl/PatchAclSchemaModification.d.ts +0 -0
- /package/dist/{src → types}/modifications/acl/PatchAclSchemaModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/acl/UpdateAclSchemaModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/acl/index.d.ts +0 -0
- /package/dist/{src → types}/modifications/acl/index.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/actions/CreateTargetModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/actions/CreateTriggerModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/actions/RemoveTargetModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/actions/RemoveTriggerModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/actions/UpdateTargetModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/actions/UpdateTriggerModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/actions/index.d.ts +0 -0
- /package/dist/{src → types}/modifications/actions/index.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/columns/CreateColumnModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/columns/UpdateColumnDefinitionModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/columns/UpdateColumnNameModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/columns/index.d.ts +0 -0
- /package/dist/{src → types}/modifications/columns/index.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/constraints/CreateUniqueConstraintModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/constraints/RemoveUniqueConstraintModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/constraints/index.d.ts +0 -0
- /package/dist/{src → types}/modifications/constraints/index.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/constraints/utils.d.ts +0 -0
- /package/dist/{src → types}/modifications/differs/RemoveChangedFieldDiffer.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/differs/RemoveViewDiffer.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/differs/index.d.ts +0 -0
- /package/dist/{src → types}/modifications/differs/index.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/entities/CreateEntityModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/entities/CreateViewModification.d.ts +0 -0
- /package/dist/{src → types}/modifications/entities/CreateViewModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/entities/RemoveEntityModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/entities/ToggleEventLogModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/entities/UpdateEntityNameModification.d.ts +0 -0
- /package/dist/{src → types}/modifications/entities/UpdateEntityNameModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/entities/UpdateEntityOrderByModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/entities/UpdateEntityTableNameModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/entities/UpdateViewModification.d.ts +0 -0
- /package/dist/{src → types}/modifications/entities/UpdateViewModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/entities/index.d.ts +0 -0
- /package/dist/{src → types}/modifications/entities/index.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/enums/CreateEnumModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/enums/RemoveEnumModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/enums/UpdateEnumModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/enums/enumUtils.d.ts +0 -0
- /package/dist/{src → types}/modifications/enums/enumUtils.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/enums/index.d.ts +0 -0
- /package/dist/{src → types}/modifications/enums/index.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/exceptions.d.ts +0 -0
- /package/dist/{src → types}/modifications/exceptions.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/fields/RemoveFieldModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/fields/UpdateFieldNameModification.d.ts +0 -0
- /package/dist/{src → types}/modifications/fields/UpdateFieldNameModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/fields/index.d.ts +0 -0
- /package/dist/{src → types}/modifications/fields/index.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/index.d.ts +0 -0
- /package/dist/{src → types}/modifications/index.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/indexes/CreateIndexModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/indexes/RemoveIndexModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/indexes/index.d.ts +0 -0
- /package/dist/{src → types}/modifications/indexes/index.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/indexes/utils.d.ts +0 -0
- /package/dist/{src → types}/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/relations/ConvertOneHasManyToOneHasOneRelationModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/relations/ConvertOneToManyRelationModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/relations/CreateRelationInverseSideModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/relations/CreateRelationModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/relations/DisableOrphanRemovalModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/relations/EnableOrphanRemovalModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/relations/MakeRelationNotNullModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/relations/MakeRelationNullableModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/relations/ToggleJunctionEventLogModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/relations/UpdateRelationOnDeleteModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/relations/UpdateRelationOrderByModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/relations/index.d.ts +0 -0
- /package/dist/{src → types}/modifications/relations/index.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/relations/normalization.d.ts +0 -0
- /package/dist/{src → types}/modifications/settings/UpdateSettingsModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/settings/index.d.ts +0 -0
- /package/dist/{src → types}/modifications/settings/index.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/upgrade/RemoveIndexNamesModification.d.ts +0 -0
- /package/dist/{src → types}/modifications/upgrade/RemoveIndexNamesModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/utils/createJunctionTable.d.ts +0 -0
- /package/dist/{src → types}/modifications/utils/diffUtils.d.ts +0 -0
- /package/dist/{src → types}/modifications/utils/getPrimaryColumnType.d.ts +0 -0
- /package/dist/{src → types}/modifications/utils/schemaUpdateUtils.d.ts +0 -0
- /package/dist/{src → types}/modifications/utils/sqlUpdateUtils.d.ts +0 -0
- /package/dist/{src → types}/modifications/utils/sqlUpdateUtils.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/utils/stringArrayEquals.d.ts +0 -0
- /package/dist/{src → types}/modifications/utils/stringArrayEquals.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/utils/valueUtils.d.ts +0 -0
- /package/dist/{src → types}/modifications/utils/valueUtils.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/utils/viewDependencies.d.ts +0 -0
- /package/dist/{src → types}/modifications/validation/PatchValidationSchemaModification.d.ts +0 -0
- /package/dist/{src → types}/modifications/validation/PatchValidationSchemaModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/validation/UpdateValidationSchemaModification.d.ts.map +0 -0
- /package/dist/{src → types}/modifications/validation/index.d.ts +0 -0
- /package/dist/{src → types}/modifications/validation/index.d.ts.map +0 -0
- /package/dist/{src → types}/utils/PartialEntity.d.ts +0 -0
- /package/dist/{src → types}/utils/PartialEntity.d.ts.map +0 -0
- /package/dist/{src → types}/utils/dbHelpers.d.ts +0 -0
- /package/dist/{src → types}/utils/dbHelpers.d.ts.map +0 -0
- /package/dist/{src → types}/utils/deepCopy.d.ts +0 -0
- /package/dist/{src → types}/utils/deepCopy.d.ts.map +0 -0
- /package/dist/{src → types}/utils/escapeSqlString.d.ts +0 -0
- /package/dist/{src → types}/utils/escapeSqlString.d.ts.map +0 -0
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const databaseMigrations = require("@contember/database-migrations");
|
|
4
|
+
const schemaUpdateUtils = require("../utils/schemaUpdateUtils.cjs");
|
|
5
|
+
const ModificationHandler = require("../ModificationHandler.cjs");
|
|
6
|
+
const deepEqual = require("fast-deep-equal");
|
|
7
|
+
const diffUtils = require("../utils/diffUtils.cjs");
|
|
8
|
+
const dbHelpers = require("../../utils/dbHelpers.cjs");
|
|
9
|
+
const columnUtils = require("../utils/columnUtils.cjs");
|
|
10
|
+
const columnUtils$1 = require("./columnUtils.cjs");
|
|
11
|
+
class UpdateColumnDefinitionModificationHandler {
|
|
12
|
+
constructor(data, schema) {
|
|
13
|
+
this.data = data;
|
|
14
|
+
this.schema = schema;
|
|
15
|
+
}
|
|
16
|
+
createSql(builder) {
|
|
17
|
+
const entity = this.schema.model.entities[this.data.entityName];
|
|
18
|
+
if (entity.view) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
const oldColumn = entity.fields[this.data.fieldName];
|
|
22
|
+
const newColumn = this.data.definition;
|
|
23
|
+
const hasNewSequence = !oldColumn.sequence && newColumn.sequence;
|
|
24
|
+
const hasNewType = newColumn.columnType !== oldColumn.columnType;
|
|
25
|
+
const columnType = columnUtils.getColumnSqlType(newColumn);
|
|
26
|
+
const hasNullableChanged = oldColumn.nullable !== newColumn.nullable;
|
|
27
|
+
const usingCast = `${dbHelpers.wrapIdentifier(oldColumn.columnName)}::${columnType}`;
|
|
28
|
+
const seedExpression = columnUtils$1.formatSeedExpression({
|
|
29
|
+
model: this.schema.model,
|
|
30
|
+
entity,
|
|
31
|
+
columnType,
|
|
32
|
+
fillValue: this.data.fillValue,
|
|
33
|
+
copyValue: this.data.copyValue
|
|
34
|
+
});
|
|
35
|
+
const hasSeed = seedExpression !== null;
|
|
36
|
+
const migrateWithUsing = hasSeed && this.data.valueMigrationStrategy === "using";
|
|
37
|
+
const migrateWithUpdate = hasSeed && this.data.valueMigrationStrategy !== "using";
|
|
38
|
+
builder.alterColumn(entity.tableName, oldColumn.columnName, {
|
|
39
|
+
type: hasNewSequence || hasNewType || migrateWithUsing ? columnType : void 0,
|
|
40
|
+
notNull: hasNullableChanged && (!migrateWithUpdate || newColumn.nullable) ? !newColumn.nullable : void 0,
|
|
41
|
+
using: (() => {
|
|
42
|
+
if (hasNewSequence) {
|
|
43
|
+
return `COALESCE(${usingCast}, nextval(PG_GET_SERIAL_SEQUENCE(${databaseMigrations.escapeValue(entity.tableName)}, ${databaseMigrations.escapeValue(oldColumn.columnName)})))`;
|
|
44
|
+
}
|
|
45
|
+
if (migrateWithUsing) {
|
|
46
|
+
return `COALESCE(${usingCast}, ${seedExpression})`;
|
|
47
|
+
}
|
|
48
|
+
if (hasNewType) {
|
|
49
|
+
return usingCast;
|
|
50
|
+
}
|
|
51
|
+
return void 0;
|
|
52
|
+
})(),
|
|
53
|
+
sequenceGenerated: oldColumn.sequence && !newColumn.sequence ? false : !oldColumn.sequence ? newColumn.sequence : void 0
|
|
54
|
+
});
|
|
55
|
+
if (migrateWithUpdate) {
|
|
56
|
+
columnUtils$1.fillSeed({
|
|
57
|
+
builder,
|
|
58
|
+
type: "updating",
|
|
59
|
+
entity,
|
|
60
|
+
columnName: oldColumn.columnName,
|
|
61
|
+
nullable: newColumn.nullable,
|
|
62
|
+
seedExpression
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
const seqAlter = [];
|
|
66
|
+
if (oldColumn.sequence && newColumn.sequence) {
|
|
67
|
+
if (oldColumn.sequence.precedence !== newColumn.sequence.precedence) {
|
|
68
|
+
seqAlter.push(`SET GENERATED ${newColumn.sequence.precedence}`);
|
|
69
|
+
}
|
|
70
|
+
if (oldColumn.sequence.start !== newColumn.sequence.start && typeof newColumn.sequence.start == "number") {
|
|
71
|
+
seqAlter.push(`SET START WITH ${newColumn.sequence.start}`);
|
|
72
|
+
}
|
|
73
|
+
if (newColumn.sequence.restart) {
|
|
74
|
+
seqAlter.push("RESTART");
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
if (seqAlter.length > 0) {
|
|
78
|
+
builder.sql(`ALTER TABLE ${dbHelpers.wrapIdentifier(entity.tableName)} ALTER ${dbHelpers.wrapIdentifier(oldColumn.columnName)} ${seqAlter.join(" ")}`);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
getSchemaUpdater() {
|
|
82
|
+
return schemaUpdateUtils.updateModel(
|
|
83
|
+
schemaUpdateUtils.updateEntity(
|
|
84
|
+
this.data.entityName,
|
|
85
|
+
schemaUpdateUtils.updateField(this.data.fieldName, ({ field }) => {
|
|
86
|
+
return {
|
|
87
|
+
...this.data.definition,
|
|
88
|
+
name: field.name,
|
|
89
|
+
columnName: field.columnName
|
|
90
|
+
};
|
|
91
|
+
})
|
|
92
|
+
)
|
|
93
|
+
);
|
|
94
|
+
}
|
|
95
|
+
describe() {
|
|
96
|
+
const current = this.schema.model.entities[this.data.entityName].fields[this.data.fieldName];
|
|
97
|
+
const changingToNotNull = current.nullable && !this.data.definition.nullable;
|
|
98
|
+
const failureWarning = changingToNotNull ? "Changing to not-null may fail in runtime." : void 0;
|
|
99
|
+
return {
|
|
100
|
+
message: `Update column definition of field ${this.data.entityName}.${this.data.fieldName}`,
|
|
101
|
+
failureWarning
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
const updateColumnDefinitionModification = ModificationHandler.createModificationType({
|
|
106
|
+
id: "updateColumnDefinition",
|
|
107
|
+
handler: UpdateColumnDefinitionModificationHandler
|
|
108
|
+
});
|
|
109
|
+
class UpdateColumnDefinitionDiffer {
|
|
110
|
+
createDiff(originalSchema, updatedSchema) {
|
|
111
|
+
return diffUtils.updateColumns(originalSchema, updatedSchema, ({ originalColumn, updatedColumn, updatedEntity }) => {
|
|
112
|
+
const {
|
|
113
|
+
name: {},
|
|
114
|
+
columnName: {},
|
|
115
|
+
...updatedDefinition
|
|
116
|
+
} = updatedColumn;
|
|
117
|
+
const {
|
|
118
|
+
name: {},
|
|
119
|
+
columnName: {},
|
|
120
|
+
...originalDefinition
|
|
121
|
+
} = originalColumn;
|
|
122
|
+
if (deepEqual(updatedDefinition, originalDefinition)) {
|
|
123
|
+
return void 0;
|
|
124
|
+
}
|
|
125
|
+
return updateColumnDefinitionModification.createModification({
|
|
126
|
+
entityName: updatedEntity.name,
|
|
127
|
+
fieldName: updatedColumn.name,
|
|
128
|
+
definition: updatedDefinition
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
exports.UpdateColumnDefinitionDiffer = UpdateColumnDefinitionDiffer;
|
|
134
|
+
exports.UpdateColumnDefinitionModificationHandler = UpdateColumnDefinitionModificationHandler;
|
|
135
|
+
exports.updateColumnDefinitionModification = updateColumnDefinitionModification;
|
|
136
|
+
//# sourceMappingURL=UpdateColumnDefinitionModification.cjs.map
|
|
@@ -0,0 +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":"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"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { escapeValue } from "@contember/database-migrations";
|
|
2
|
+
import { updateModel, updateEntity, updateField } from "../utils/schemaUpdateUtils.js";
|
|
3
|
+
import { createModificationType } from "../ModificationHandler.js";
|
|
4
|
+
import deepEqual from "fast-deep-equal";
|
|
5
|
+
import { updateColumns } from "../utils/diffUtils.js";
|
|
6
|
+
import { wrapIdentifier } from "../../utils/dbHelpers.js";
|
|
7
|
+
import { getColumnSqlType } from "../utils/columnUtils.js";
|
|
8
|
+
import { formatSeedExpression, fillSeed } from "./columnUtils.js";
|
|
9
|
+
class UpdateColumnDefinitionModificationHandler {
|
|
10
|
+
constructor(data, schema) {
|
|
11
|
+
this.data = data;
|
|
12
|
+
this.schema = schema;
|
|
13
|
+
}
|
|
14
|
+
createSql(builder) {
|
|
15
|
+
const entity = this.schema.model.entities[this.data.entityName];
|
|
16
|
+
if (entity.view) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const oldColumn = entity.fields[this.data.fieldName];
|
|
20
|
+
const newColumn = this.data.definition;
|
|
21
|
+
const hasNewSequence = !oldColumn.sequence && newColumn.sequence;
|
|
22
|
+
const hasNewType = newColumn.columnType !== oldColumn.columnType;
|
|
23
|
+
const columnType = getColumnSqlType(newColumn);
|
|
24
|
+
const hasNullableChanged = oldColumn.nullable !== newColumn.nullable;
|
|
25
|
+
const usingCast = `${wrapIdentifier(oldColumn.columnName)}::${columnType}`;
|
|
26
|
+
const seedExpression = formatSeedExpression({
|
|
27
|
+
model: this.schema.model,
|
|
28
|
+
entity,
|
|
29
|
+
columnType,
|
|
30
|
+
fillValue: this.data.fillValue,
|
|
31
|
+
copyValue: this.data.copyValue
|
|
32
|
+
});
|
|
33
|
+
const hasSeed = seedExpression !== null;
|
|
34
|
+
const migrateWithUsing = hasSeed && this.data.valueMigrationStrategy === "using";
|
|
35
|
+
const migrateWithUpdate = hasSeed && this.data.valueMigrationStrategy !== "using";
|
|
36
|
+
builder.alterColumn(entity.tableName, oldColumn.columnName, {
|
|
37
|
+
type: hasNewSequence || hasNewType || migrateWithUsing ? columnType : void 0,
|
|
38
|
+
notNull: hasNullableChanged && (!migrateWithUpdate || newColumn.nullable) ? !newColumn.nullable : void 0,
|
|
39
|
+
using: (() => {
|
|
40
|
+
if (hasNewSequence) {
|
|
41
|
+
return `COALESCE(${usingCast}, nextval(PG_GET_SERIAL_SEQUENCE(${escapeValue(entity.tableName)}, ${escapeValue(oldColumn.columnName)})))`;
|
|
42
|
+
}
|
|
43
|
+
if (migrateWithUsing) {
|
|
44
|
+
return `COALESCE(${usingCast}, ${seedExpression})`;
|
|
45
|
+
}
|
|
46
|
+
if (hasNewType) {
|
|
47
|
+
return usingCast;
|
|
48
|
+
}
|
|
49
|
+
return void 0;
|
|
50
|
+
})(),
|
|
51
|
+
sequenceGenerated: oldColumn.sequence && !newColumn.sequence ? false : !oldColumn.sequence ? newColumn.sequence : void 0
|
|
52
|
+
});
|
|
53
|
+
if (migrateWithUpdate) {
|
|
54
|
+
fillSeed({
|
|
55
|
+
builder,
|
|
56
|
+
type: "updating",
|
|
57
|
+
entity,
|
|
58
|
+
columnName: oldColumn.columnName,
|
|
59
|
+
nullable: newColumn.nullable,
|
|
60
|
+
seedExpression
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
const seqAlter = [];
|
|
64
|
+
if (oldColumn.sequence && newColumn.sequence) {
|
|
65
|
+
if (oldColumn.sequence.precedence !== newColumn.sequence.precedence) {
|
|
66
|
+
seqAlter.push(`SET GENERATED ${newColumn.sequence.precedence}`);
|
|
67
|
+
}
|
|
68
|
+
if (oldColumn.sequence.start !== newColumn.sequence.start && typeof newColumn.sequence.start == "number") {
|
|
69
|
+
seqAlter.push(`SET START WITH ${newColumn.sequence.start}`);
|
|
70
|
+
}
|
|
71
|
+
if (newColumn.sequence.restart) {
|
|
72
|
+
seqAlter.push("RESTART");
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
if (seqAlter.length > 0) {
|
|
76
|
+
builder.sql(`ALTER TABLE ${wrapIdentifier(entity.tableName)} ALTER ${wrapIdentifier(oldColumn.columnName)} ${seqAlter.join(" ")}`);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
getSchemaUpdater() {
|
|
80
|
+
return updateModel(
|
|
81
|
+
updateEntity(
|
|
82
|
+
this.data.entityName,
|
|
83
|
+
updateField(this.data.fieldName, ({ field }) => {
|
|
84
|
+
return {
|
|
85
|
+
...this.data.definition,
|
|
86
|
+
name: field.name,
|
|
87
|
+
columnName: field.columnName
|
|
88
|
+
};
|
|
89
|
+
})
|
|
90
|
+
)
|
|
91
|
+
);
|
|
92
|
+
}
|
|
93
|
+
describe() {
|
|
94
|
+
const current = this.schema.model.entities[this.data.entityName].fields[this.data.fieldName];
|
|
95
|
+
const changingToNotNull = current.nullable && !this.data.definition.nullable;
|
|
96
|
+
const failureWarning = changingToNotNull ? "Changing to not-null may fail in runtime." : void 0;
|
|
97
|
+
return {
|
|
98
|
+
message: `Update column definition of field ${this.data.entityName}.${this.data.fieldName}`,
|
|
99
|
+
failureWarning
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
const updateColumnDefinitionModification = createModificationType({
|
|
104
|
+
id: "updateColumnDefinition",
|
|
105
|
+
handler: UpdateColumnDefinitionModificationHandler
|
|
106
|
+
});
|
|
107
|
+
class UpdateColumnDefinitionDiffer {
|
|
108
|
+
createDiff(originalSchema, updatedSchema) {
|
|
109
|
+
return updateColumns(originalSchema, updatedSchema, ({ originalColumn, updatedColumn, updatedEntity }) => {
|
|
110
|
+
const {
|
|
111
|
+
name: {},
|
|
112
|
+
columnName: {},
|
|
113
|
+
...updatedDefinition
|
|
114
|
+
} = updatedColumn;
|
|
115
|
+
const {
|
|
116
|
+
name: {},
|
|
117
|
+
columnName: {},
|
|
118
|
+
...originalDefinition
|
|
119
|
+
} = originalColumn;
|
|
120
|
+
if (deepEqual(updatedDefinition, originalDefinition)) {
|
|
121
|
+
return void 0;
|
|
122
|
+
}
|
|
123
|
+
return updateColumnDefinitionModification.createModification({
|
|
124
|
+
entityName: updatedEntity.name,
|
|
125
|
+
fieldName: updatedColumn.name,
|
|
126
|
+
definition: updatedDefinition
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
export {
|
|
132
|
+
UpdateColumnDefinitionDiffer,
|
|
133
|
+
UpdateColumnDefinitionModificationHandler,
|
|
134
|
+
updateColumnDefinitionModification
|
|
135
|
+
};
|
|
136
|
+
//# sourceMappingURL=UpdateColumnDefinitionModification.js.map
|
|
@@ -0,0 +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,EAAiB;AAAA,EAEtG,UAAU,SAAiC;AACjD,UAAM,SAAS,KAAK,OAAO,MAAM,SAAS,KAAK,KAAK,UAAU;AAC9D,QAAI,OAAO,MAAM;AAChB;AAAA,IACD;AACA,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,QACpI;AACA,YAAI,kBAAkB;AACd,iBAAA,YAAY,SAAS,KAAK,cAAc;AAAA,QAChD;AAEA,YAAI,YAAY;AACR,iBAAA;AAAA,QACR;AACO,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,IACF;AAEA,UAAM,WAAW,CAAA;AACb,QAAA,UAAU,YAAY,UAAU,UAAU;AAC7C,UAAI,UAAU,SAAS,eAAe,UAAU,SAAS,YAAY;AACpE,iBAAS,KAAK,iBAAiB,UAAU,SAAS,UAAU,EAAE;AAAA,MAC/D;AACI,UAAA,UAAU,SAAS,UAAU,UAAU,SAAS,SAAS,OAAO,UAAU,SAAS,SAAS,UAAU;AACzG,iBAAS,KAAK,kBAAkB,UAAU,SAAS,KAAK,EAAE;AAAA,MAC3D;AACI,UAAA,UAAU,SAAS,SAAS;AAC/B,iBAAS,KAAK,SAAS;AAAA,MACxB;AAAA,IACD;AACI,QAAA,SAAS,SAAS,GAAG;AACxB,cAAQ,IAAI,eAAe,eAAe,OAAO,SAAS,CAAC,UAAU,eAAe,UAAU,UAAU,CAAC,IAAI,SAAS,KAAK,GAAG,CAAC,EAAE;AAAA,IAClI;AAAA,EACD;AAAA,EAEO,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,UAAA;AAAA,QACnB,CACA;AAAA,MACF;AAAA,IAAA;AAAA,EAEF;AAAA,EAEA,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,IAAA;AAAA,EAEF;AACD;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,MACA,IAAA;AACE,YAAA;AAAA,QACL,MAAM,CAAC;AAAA,QACP,YAAY,CAAC;AAAA,QACb,GAAG;AAAA,MACA,IAAA;AACA,UAAA,UAAU,mBAAmB,kBAAkB,GAAG;AAC9C,eAAA;AAAA,MACR;AAEA,aAAO,mCAAmC,mBAAmB;AAAA,QAC5D,YAAY,cAAc;AAAA,QAC1B,WAAW,cAAc;AAAA,QACzB,YAAY;AAAA,MAAA,CACZ;AAAA,IAAA,CACD;AAAA,EACF;AACD;"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const schemaUpdateUtils = require("../utils/schemaUpdateUtils.cjs");
|
|
4
|
+
const ModificationHandler = require("../ModificationHandler.cjs");
|
|
5
|
+
const diffUtils = require("../utils/diffUtils.cjs");
|
|
6
|
+
const schemaUtils = require("@contember/schema-utils");
|
|
7
|
+
class UpdateColumnNameModificationHandler {
|
|
8
|
+
constructor(data, schema) {
|
|
9
|
+
this.data = data;
|
|
10
|
+
this.schema = schema;
|
|
11
|
+
}
|
|
12
|
+
createSql(builder) {
|
|
13
|
+
const entity = this.schema.model.entities[this.data.entityName];
|
|
14
|
+
if (entity.view) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
schemaUtils.acceptFieldVisitor(this.schema.model, entity, this.data.fieldName, {
|
|
18
|
+
visitColumn: ({ entity: entity2, column }) => {
|
|
19
|
+
builder.renameColumn(entity2.tableName, column.columnName, this.data.columnName);
|
|
20
|
+
},
|
|
21
|
+
visitManyHasOne: ({ entity: entity2, relation }) => {
|
|
22
|
+
builder.renameColumn(entity2.tableName, relation.joiningColumn.columnName, this.data.columnName);
|
|
23
|
+
},
|
|
24
|
+
visitOneHasOneOwning: ({ entity: entity2, relation }) => {
|
|
25
|
+
builder.renameColumn(entity2.tableName, relation.joiningColumn.columnName, this.data.columnName);
|
|
26
|
+
},
|
|
27
|
+
visitManyHasManyInverse: () => {
|
|
28
|
+
throw new Error("Cannot rename column of many-to-many relation");
|
|
29
|
+
},
|
|
30
|
+
visitManyHasManyOwning: () => {
|
|
31
|
+
throw new Error("Cannot rename column of many-to-many relation");
|
|
32
|
+
},
|
|
33
|
+
visitOneHasMany: () => {
|
|
34
|
+
throw new Error("Cannot rename column of one-to-many relation");
|
|
35
|
+
},
|
|
36
|
+
visitOneHasOneInverse: () => {
|
|
37
|
+
throw new Error("Cannot rename column of one-to-one inverse relation");
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
getSchemaUpdater() {
|
|
42
|
+
return schemaUpdateUtils.updateModel(
|
|
43
|
+
schemaUpdateUtils.updateEntity(
|
|
44
|
+
this.data.entityName,
|
|
45
|
+
schemaUpdateUtils.updateField(
|
|
46
|
+
this.data.fieldName,
|
|
47
|
+
({ field, entity }) => schemaUtils.acceptFieldVisitor(
|
|
48
|
+
this.schema.model,
|
|
49
|
+
entity,
|
|
50
|
+
field,
|
|
51
|
+
{
|
|
52
|
+
visitColumn: ({ column }) => {
|
|
53
|
+
return {
|
|
54
|
+
...column,
|
|
55
|
+
columnName: this.data.columnName
|
|
56
|
+
};
|
|
57
|
+
},
|
|
58
|
+
visitManyHasOne: ({ entity: entity2, relation }) => {
|
|
59
|
+
return {
|
|
60
|
+
...relation,
|
|
61
|
+
joiningColumn: {
|
|
62
|
+
...relation.joiningColumn,
|
|
63
|
+
columnName: this.data.columnName
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
},
|
|
67
|
+
visitOneHasOneOwning: ({ entity: entity2, relation }) => {
|
|
68
|
+
return {
|
|
69
|
+
...relation,
|
|
70
|
+
joiningColumn: {
|
|
71
|
+
...relation.joiningColumn,
|
|
72
|
+
columnName: this.data.columnName
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
},
|
|
76
|
+
visitManyHasManyInverse: () => {
|
|
77
|
+
throw new Error("Cannot rename column of many-to-many relation");
|
|
78
|
+
},
|
|
79
|
+
visitManyHasManyOwning: () => {
|
|
80
|
+
throw new Error("Cannot rename column of many-to-many relation");
|
|
81
|
+
},
|
|
82
|
+
visitOneHasMany: () => {
|
|
83
|
+
throw new Error("Cannot rename column of one-to-many relation");
|
|
84
|
+
},
|
|
85
|
+
visitOneHasOneInverse: () => {
|
|
86
|
+
throw new Error("Cannot rename column of one-to-one inverse relation");
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
)
|
|
90
|
+
)
|
|
91
|
+
)
|
|
92
|
+
);
|
|
93
|
+
}
|
|
94
|
+
describe() {
|
|
95
|
+
return { message: `Change column name of field ${this.data.entityName}.${this.data.fieldName}` };
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
const updateColumnNameModification = ModificationHandler.createModificationType({
|
|
99
|
+
id: "updateColumnName",
|
|
100
|
+
handler: UpdateColumnNameModificationHandler
|
|
101
|
+
});
|
|
102
|
+
class UpdateColumnNameDiffer {
|
|
103
|
+
createDiff(originalSchema, updatedSchema) {
|
|
104
|
+
return diffUtils.updateColumns(originalSchema, updatedSchema, ({ originalColumn, updatedColumn, updatedEntity }) => {
|
|
105
|
+
if (originalColumn.columnName === updatedColumn.columnName) {
|
|
106
|
+
return void 0;
|
|
107
|
+
}
|
|
108
|
+
return updateColumnNameModification.createModification({
|
|
109
|
+
entityName: updatedEntity.name,
|
|
110
|
+
fieldName: updatedColumn.name,
|
|
111
|
+
columnName: updatedColumn.columnName
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
exports.UpdateColumnNameDiffer = UpdateColumnNameDiffer;
|
|
117
|
+
exports.UpdateColumnNameModificationHandler = UpdateColumnNameModificationHandler;
|
|
118
|
+
exports.updateColumnNameModification = updateColumnNameModification;
|
|
119
|
+
//# sourceMappingURL=UpdateColumnNameModification.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UpdateColumnNameModification.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/columns/UpdateColumnNameModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport { updateColumns } from '../utils/diffUtils'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\n\nexport class UpdateColumnNameModificationHandler implements ModificationHandler<UpdateColumnNameModificationData> {\n\tconstructor(private readonly data: UpdateColumnNameModificationData, private readonly schema: Schema) {\n\t}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\t\tacceptFieldVisitor(this.schema.model, entity, this.data.fieldName, {\n\t\t\tvisitColumn: ({ entity, column }) => {\n\t\t\t\tbuilder.renameColumn(entity.tableName, column.columnName, this.data.columnName)\n\t\t\t},\n\t\t\tvisitManyHasOne: ({ entity, relation }) => {\n\t\t\t\tbuilder.renameColumn(entity.tableName, relation.joiningColumn.columnName, this.data.columnName)\n\t\t\t},\n\t\t\tvisitOneHasOneOwning: ({ entity, relation }) => {\n\t\t\t\tbuilder.renameColumn(entity.tableName, relation.joiningColumn.columnName, this.data.columnName)\n\t\t\t},\n\t\t\tvisitManyHasManyInverse: () => {\n\t\t\t\tthrow new Error('Cannot rename column of many-to-many relation')\n\t\t\t},\n\t\t\tvisitManyHasManyOwning: () => {\n\t\t\t\tthrow new Error('Cannot rename column of many-to-many relation')\n\t\t\t},\n\t\t\tvisitOneHasMany: () => {\n\t\t\t\tthrow new Error('Cannot rename column of one-to-many relation')\n\t\t\t},\n\t\t\tvisitOneHasOneInverse: () => {\n\t\t\t\tthrow new Error('Cannot rename column of one-to-one inverse relation')\n\t\t\t},\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(this.data.fieldName, ({ field, entity }) =>\n\t\t\t\t\tacceptFieldVisitor<Model.AnyField>(this.schema.model, entity, field, {\n\t\t\t\t\t\tvisitColumn: ({ column }) => {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...column,\n\t\t\t\t\t\t\t\tcolumnName: this.data.columnName,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tvisitManyHasOne: ({ entity, relation }) => {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...relation,\n\t\t\t\t\t\t\t\tjoiningColumn: {\n\t\t\t\t\t\t\t\t\t...relation.joiningColumn,\n\t\t\t\t\t\t\t\t\tcolumnName: this.data.columnName,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tvisitOneHasOneOwning: ({ entity, relation }) => {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...relation,\n\t\t\t\t\t\t\t\tjoiningColumn: {\n\t\t\t\t\t\t\t\t\t...relation.joiningColumn,\n\t\t\t\t\t\t\t\t\tcolumnName: this.data.columnName,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tvisitManyHasManyInverse: () => {\n\t\t\t\t\t\t\tthrow new Error('Cannot rename column of many-to-many relation')\n\t\t\t\t\t\t},\n\t\t\t\t\t\tvisitManyHasManyOwning: () => {\n\t\t\t\t\t\t\tthrow new Error('Cannot rename column of many-to-many relation')\n\t\t\t\t\t\t},\n\t\t\t\t\t\tvisitOneHasMany: () => {\n\t\t\t\t\t\t\tthrow new Error('Cannot rename column of one-to-many relation')\n\t\t\t\t\t\t},\n\t\t\t\t\t\tvisitOneHasOneInverse: () => {\n\t\t\t\t\t\t\tthrow new Error('Cannot rename column of one-to-one inverse relation')\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Change column name of field ${this.data.entityName}.${this.data.fieldName}` }\n\t}\n}\n\nexport interface UpdateColumnNameModificationData {\n\tentityName: string\n\tfieldName: string\n\tcolumnName: string\n}\n\nexport const updateColumnNameModification = createModificationType({\n\tid: 'updateColumnName',\n\thandler: UpdateColumnNameModificationHandler,\n})\n\nexport class UpdateColumnNameDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn updateColumns(originalSchema, updatedSchema, ({ originalColumn, updatedColumn, updatedEntity }) => {\n\t\t\tif (originalColumn.columnName === updatedColumn.columnName) {\n\t\t\t\treturn undefined\n\t\t\t}\n\t\t\treturn updateColumnNameModification.createModification({\n\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\tfieldName: updatedColumn.name,\n\t\t\t\tcolumnName: updatedColumn.columnName,\n\t\t\t})\n\t\t})\n\t}\n}\n"],"names":["acceptFieldVisitor","entity","updateModel","updateEntity","updateField","createModificationType","updateColumns"],"mappings":"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"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { updateModel, updateEntity, updateField } from "../utils/schemaUpdateUtils.js";
|
|
2
|
+
import { createModificationType } from "../ModificationHandler.js";
|
|
3
|
+
import { updateColumns } from "../utils/diffUtils.js";
|
|
4
|
+
import { acceptFieldVisitor } from "@contember/schema-utils";
|
|
5
|
+
class UpdateColumnNameModificationHandler {
|
|
6
|
+
constructor(data, schema) {
|
|
7
|
+
this.data = data;
|
|
8
|
+
this.schema = schema;
|
|
9
|
+
}
|
|
10
|
+
createSql(builder) {
|
|
11
|
+
const entity = this.schema.model.entities[this.data.entityName];
|
|
12
|
+
if (entity.view) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
acceptFieldVisitor(this.schema.model, entity, this.data.fieldName, {
|
|
16
|
+
visitColumn: ({ entity: entity2, column }) => {
|
|
17
|
+
builder.renameColumn(entity2.tableName, column.columnName, this.data.columnName);
|
|
18
|
+
},
|
|
19
|
+
visitManyHasOne: ({ entity: entity2, relation }) => {
|
|
20
|
+
builder.renameColumn(entity2.tableName, relation.joiningColumn.columnName, this.data.columnName);
|
|
21
|
+
},
|
|
22
|
+
visitOneHasOneOwning: ({ entity: entity2, relation }) => {
|
|
23
|
+
builder.renameColumn(entity2.tableName, relation.joiningColumn.columnName, this.data.columnName);
|
|
24
|
+
},
|
|
25
|
+
visitManyHasManyInverse: () => {
|
|
26
|
+
throw new Error("Cannot rename column of many-to-many relation");
|
|
27
|
+
},
|
|
28
|
+
visitManyHasManyOwning: () => {
|
|
29
|
+
throw new Error("Cannot rename column of many-to-many relation");
|
|
30
|
+
},
|
|
31
|
+
visitOneHasMany: () => {
|
|
32
|
+
throw new Error("Cannot rename column of one-to-many relation");
|
|
33
|
+
},
|
|
34
|
+
visitOneHasOneInverse: () => {
|
|
35
|
+
throw new Error("Cannot rename column of one-to-one inverse relation");
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
getSchemaUpdater() {
|
|
40
|
+
return updateModel(
|
|
41
|
+
updateEntity(
|
|
42
|
+
this.data.entityName,
|
|
43
|
+
updateField(
|
|
44
|
+
this.data.fieldName,
|
|
45
|
+
({ field, entity }) => acceptFieldVisitor(
|
|
46
|
+
this.schema.model,
|
|
47
|
+
entity,
|
|
48
|
+
field,
|
|
49
|
+
{
|
|
50
|
+
visitColumn: ({ column }) => {
|
|
51
|
+
return {
|
|
52
|
+
...column,
|
|
53
|
+
columnName: this.data.columnName
|
|
54
|
+
};
|
|
55
|
+
},
|
|
56
|
+
visitManyHasOne: ({ entity: entity2, relation }) => {
|
|
57
|
+
return {
|
|
58
|
+
...relation,
|
|
59
|
+
joiningColumn: {
|
|
60
|
+
...relation.joiningColumn,
|
|
61
|
+
columnName: this.data.columnName
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
},
|
|
65
|
+
visitOneHasOneOwning: ({ entity: entity2, relation }) => {
|
|
66
|
+
return {
|
|
67
|
+
...relation,
|
|
68
|
+
joiningColumn: {
|
|
69
|
+
...relation.joiningColumn,
|
|
70
|
+
columnName: this.data.columnName
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
},
|
|
74
|
+
visitManyHasManyInverse: () => {
|
|
75
|
+
throw new Error("Cannot rename column of many-to-many relation");
|
|
76
|
+
},
|
|
77
|
+
visitManyHasManyOwning: () => {
|
|
78
|
+
throw new Error("Cannot rename column of many-to-many relation");
|
|
79
|
+
},
|
|
80
|
+
visitOneHasMany: () => {
|
|
81
|
+
throw new Error("Cannot rename column of one-to-many relation");
|
|
82
|
+
},
|
|
83
|
+
visitOneHasOneInverse: () => {
|
|
84
|
+
throw new Error("Cannot rename column of one-to-one inverse relation");
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
)
|
|
88
|
+
)
|
|
89
|
+
)
|
|
90
|
+
);
|
|
91
|
+
}
|
|
92
|
+
describe() {
|
|
93
|
+
return { message: `Change column name of field ${this.data.entityName}.${this.data.fieldName}` };
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
const updateColumnNameModification = createModificationType({
|
|
97
|
+
id: "updateColumnName",
|
|
98
|
+
handler: UpdateColumnNameModificationHandler
|
|
99
|
+
});
|
|
100
|
+
class UpdateColumnNameDiffer {
|
|
101
|
+
createDiff(originalSchema, updatedSchema) {
|
|
102
|
+
return updateColumns(originalSchema, updatedSchema, ({ originalColumn, updatedColumn, updatedEntity }) => {
|
|
103
|
+
if (originalColumn.columnName === updatedColumn.columnName) {
|
|
104
|
+
return void 0;
|
|
105
|
+
}
|
|
106
|
+
return updateColumnNameModification.createModification({
|
|
107
|
+
entityName: updatedEntity.name,
|
|
108
|
+
fieldName: updatedColumn.name,
|
|
109
|
+
columnName: updatedColumn.columnName
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
export {
|
|
115
|
+
UpdateColumnNameDiffer,
|
|
116
|
+
UpdateColumnNameModificationHandler,
|
|
117
|
+
updateColumnNameModification
|
|
118
|
+
};
|
|
119
|
+
//# sourceMappingURL=UpdateColumnNameModification.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UpdateColumnNameModification.js","sources":["../../../../../../packages/schema-migrations/src/modifications/columns/UpdateColumnNameModification.ts"],"sourcesContent":["import { MigrationBuilder } from '@contember/database-migrations'\nimport { Model, Schema } from '@contember/schema'\nimport { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils'\nimport { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'\nimport { updateColumns } from '../utils/diffUtils'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\n\nexport class UpdateColumnNameModificationHandler implements ModificationHandler<UpdateColumnNameModificationData> {\n\tconstructor(private readonly data: UpdateColumnNameModificationData, private readonly schema: Schema) {\n\t}\n\n\tpublic createSql(builder: MigrationBuilder): void {\n\t\tconst entity = this.schema.model.entities[this.data.entityName]\n\t\tif (entity.view) {\n\t\t\treturn\n\t\t}\n\t\tacceptFieldVisitor(this.schema.model, entity, this.data.fieldName, {\n\t\t\tvisitColumn: ({ entity, column }) => {\n\t\t\t\tbuilder.renameColumn(entity.tableName, column.columnName, this.data.columnName)\n\t\t\t},\n\t\t\tvisitManyHasOne: ({ entity, relation }) => {\n\t\t\t\tbuilder.renameColumn(entity.tableName, relation.joiningColumn.columnName, this.data.columnName)\n\t\t\t},\n\t\t\tvisitOneHasOneOwning: ({ entity, relation }) => {\n\t\t\t\tbuilder.renameColumn(entity.tableName, relation.joiningColumn.columnName, this.data.columnName)\n\t\t\t},\n\t\t\tvisitManyHasManyInverse: () => {\n\t\t\t\tthrow new Error('Cannot rename column of many-to-many relation')\n\t\t\t},\n\t\t\tvisitManyHasManyOwning: () => {\n\t\t\t\tthrow new Error('Cannot rename column of many-to-many relation')\n\t\t\t},\n\t\t\tvisitOneHasMany: () => {\n\t\t\t\tthrow new Error('Cannot rename column of one-to-many relation')\n\t\t\t},\n\t\t\tvisitOneHasOneInverse: () => {\n\t\t\t\tthrow new Error('Cannot rename column of one-to-one inverse relation')\n\t\t\t},\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(this.data.fieldName, ({ field, entity }) =>\n\t\t\t\t\tacceptFieldVisitor<Model.AnyField>(this.schema.model, entity, field, {\n\t\t\t\t\t\tvisitColumn: ({ column }) => {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...column,\n\t\t\t\t\t\t\t\tcolumnName: this.data.columnName,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tvisitManyHasOne: ({ entity, relation }) => {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...relation,\n\t\t\t\t\t\t\t\tjoiningColumn: {\n\t\t\t\t\t\t\t\t\t...relation.joiningColumn,\n\t\t\t\t\t\t\t\t\tcolumnName: this.data.columnName,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tvisitOneHasOneOwning: ({ entity, relation }) => {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...relation,\n\t\t\t\t\t\t\t\tjoiningColumn: {\n\t\t\t\t\t\t\t\t\t...relation.joiningColumn,\n\t\t\t\t\t\t\t\t\tcolumnName: this.data.columnName,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tvisitManyHasManyInverse: () => {\n\t\t\t\t\t\t\tthrow new Error('Cannot rename column of many-to-many relation')\n\t\t\t\t\t\t},\n\t\t\t\t\t\tvisitManyHasManyOwning: () => {\n\t\t\t\t\t\t\tthrow new Error('Cannot rename column of many-to-many relation')\n\t\t\t\t\t\t},\n\t\t\t\t\t\tvisitOneHasMany: () => {\n\t\t\t\t\t\t\tthrow new Error('Cannot rename column of one-to-many relation')\n\t\t\t\t\t\t},\n\t\t\t\t\t\tvisitOneHasOneInverse: () => {\n\t\t\t\t\t\t\tthrow new Error('Cannot rename column of one-to-one inverse relation')\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t),\n\t\t)\n\t}\n\n\tdescribe() {\n\t\treturn { message: `Change column name of field ${this.data.entityName}.${this.data.fieldName}` }\n\t}\n}\n\nexport interface UpdateColumnNameModificationData {\n\tentityName: string\n\tfieldName: string\n\tcolumnName: string\n}\n\nexport const updateColumnNameModification = createModificationType({\n\tid: 'updateColumnName',\n\thandler: UpdateColumnNameModificationHandler,\n})\n\nexport class UpdateColumnNameDiffer implements Differ {\n\tcreateDiff(originalSchema: Schema, updatedSchema: Schema) {\n\t\treturn updateColumns(originalSchema, updatedSchema, ({ originalColumn, updatedColumn, updatedEntity }) => {\n\t\t\tif (originalColumn.columnName === updatedColumn.columnName) {\n\t\t\t\treturn undefined\n\t\t\t}\n\t\t\treturn updateColumnNameModification.createModification({\n\t\t\t\tentityName: updatedEntity.name,\n\t\t\t\tfieldName: updatedColumn.name,\n\t\t\t\tcolumnName: updatedColumn.columnName,\n\t\t\t})\n\t\t})\n\t}\n}\n"],"names":["entity"],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const dbHelpers = require("../../utils/dbHelpers.cjs");
|
|
4
|
+
const databaseMigrations = require("@contember/database-migrations");
|
|
5
|
+
const schemaUtils = require("@contember/schema-utils");
|
|
6
|
+
const fillSeed = ({ builder, entity, columnName, nullable, type, seedExpression }) => {
|
|
7
|
+
const where = type === "updating" ? ` WHERE ${dbHelpers.wrapIdentifier(columnName)} IS NULL` : "";
|
|
8
|
+
builder.sql(`UPDATE ${dbHelpers.wrapIdentifier(entity.tableName)}
|
|
9
|
+
SET ${dbHelpers.wrapIdentifier(columnName)} = ${seedExpression}${where}`);
|
|
10
|
+
builder.sql(`SET CONSTRAINTS ALL IMMEDIATE`);
|
|
11
|
+
builder.sql(`SET CONSTRAINTS ALL DEFERRED`);
|
|
12
|
+
if (!nullable) {
|
|
13
|
+
builder.alterColumn(entity.tableName, columnName, {
|
|
14
|
+
notNull: true
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
const formatSeedExpression = ({ model, entity, columnType, fillValue, copyValue }) => {
|
|
19
|
+
if (fillValue !== void 0) {
|
|
20
|
+
return databaseMigrations.escapeValue(fillValue);
|
|
21
|
+
} else if (copyValue !== void 0) {
|
|
22
|
+
const copyFrom = schemaUtils.getColumnName(model, entity, copyValue);
|
|
23
|
+
return `${dbHelpers.wrapIdentifier(copyFrom)}::${columnType}`;
|
|
24
|
+
}
|
|
25
|
+
return null;
|
|
26
|
+
};
|
|
27
|
+
exports.fillSeed = fillSeed;
|
|
28
|
+
exports.formatSeedExpression = formatSeedExpression;
|
|
29
|
+
//# sourceMappingURL=columnUtils.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columnUtils.cjs","sources":["../../../../../../packages/schema-migrations/src/modifications/columns/columnUtils.ts"],"sourcesContent":["import { wrapIdentifier } from '../../utils/dbHelpers'\nimport { JSONValue, Model } from '@contember/schema'\nimport { escapeValue, MigrationBuilder } from '@contember/database-migrations'\nimport { getColumnName } from '@contember/schema-utils'\n\nexport const fillSeed = ({ builder, entity, columnName, nullable, type, seedExpression }: {\n\tentity: Model.Entity\n\tcolumnName: string\n\tnullable: boolean\n\tbuilder: MigrationBuilder\n\ttype: 'creating' | 'updating'\n\tseedExpression: string\n}) => {\n\n\tconst where = type === 'updating' ? ` WHERE ${wrapIdentifier(columnName)} IS NULL` : ''\n\tbuilder.sql(`UPDATE ${wrapIdentifier(entity.tableName)}\n\t\t\t\t SET ${wrapIdentifier(columnName)} = ${seedExpression}${where}`)\n\n\t// event log uses deferred constraint triggers, we need to fire them before ALTER\n\tbuilder.sql(`SET CONSTRAINTS ALL IMMEDIATE`)\n\tbuilder.sql(`SET CONSTRAINTS ALL DEFERRED`)\n\n\tif (!nullable) {\n\t\tbuilder.alterColumn(entity.tableName, columnName, {\n\t\t\tnotNull: true,\n\t\t})\n\t}\n}\n\n\nexport const formatSeedExpression = ({ model, entity, columnType, fillValue, copyValue }: {\n\tmodel: Model.Schema\n\tentity: Model.Entity\n\tcolumnType: string\n\tfillValue?: JSONValue\n\tcopyValue?: string\n}): string | null => {\n\tif (fillValue !== undefined) {\n\t\treturn escapeValue(fillValue)\n\t} else if (copyValue !== undefined) {\n\t\tconst copyFrom = getColumnName(model, entity, copyValue)\n\t\treturn `${wrapIdentifier(copyFrom)}::${columnType}`\n\t}\n\treturn null\n}\n"],"names":["wrapIdentifier","escapeValue","getColumnName"],"mappings":";;;;;AAKa,MAAA,WAAW,CAAC,EAAE,SAAS,QAAQ,YAAY,UAAU,MAAM,qBAOlE;AAEL,QAAM,QAAQ,SAAS,aAAa,UAAUA,UAAe,eAAA,UAAU,CAAC,aAAa;AACrF,UAAQ,IAAI,UAAUA,UAAAA,eAAe,OAAO,SAAS,CAAC;AAAA,WAC5CA,UAAAA,eAAe,UAAU,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE;AAGlE,UAAQ,IAAI,+BAA+B;AAC3C,UAAQ,IAAI,8BAA8B;AAE1C,MAAI,CAAC,UAAU;AACN,YAAA,YAAY,OAAO,WAAW,YAAY;AAAA,MACjD,SAAS;AAAA,IAAA,CACT;AAAA,EACF;AACD;AAGa,MAAA,uBAAuB,CAAC,EAAE,OAAO,QAAQ,YAAY,WAAW,gBAMxD;AACpB,MAAI,cAAc,QAAW;AAC5B,WAAOC,mBAAAA,YAAY,SAAS;AAAA,EAAA,WAClB,cAAc,QAAW;AACnC,UAAM,WAAWC,YAAA,cAAc,OAAO,QAAQ,SAAS;AACvD,WAAO,GAAGF,UAAAA,eAAe,QAAQ,CAAC,KAAK,UAAU;AAAA,EAClD;AACO,SAAA;AACR;;;"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { wrapIdentifier } from "../../utils/dbHelpers.js";
|
|
2
|
+
import { escapeValue } from "@contember/database-migrations";
|
|
3
|
+
import { getColumnName } from "@contember/schema-utils";
|
|
4
|
+
const fillSeed = ({ builder, entity, columnName, nullable, type, seedExpression }) => {
|
|
5
|
+
const where = type === "updating" ? ` WHERE ${wrapIdentifier(columnName)} IS NULL` : "";
|
|
6
|
+
builder.sql(`UPDATE ${wrapIdentifier(entity.tableName)}
|
|
7
|
+
SET ${wrapIdentifier(columnName)} = ${seedExpression}${where}`);
|
|
8
|
+
builder.sql(`SET CONSTRAINTS ALL IMMEDIATE`);
|
|
9
|
+
builder.sql(`SET CONSTRAINTS ALL DEFERRED`);
|
|
10
|
+
if (!nullable) {
|
|
11
|
+
builder.alterColumn(entity.tableName, columnName, {
|
|
12
|
+
notNull: true
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
const formatSeedExpression = ({ model, entity, columnType, fillValue, copyValue }) => {
|
|
17
|
+
if (fillValue !== void 0) {
|
|
18
|
+
return escapeValue(fillValue);
|
|
19
|
+
} else if (copyValue !== void 0) {
|
|
20
|
+
const copyFrom = getColumnName(model, entity, copyValue);
|
|
21
|
+
return `${wrapIdentifier(copyFrom)}::${columnType}`;
|
|
22
|
+
}
|
|
23
|
+
return null;
|
|
24
|
+
};
|
|
25
|
+
export {
|
|
26
|
+
fillSeed,
|
|
27
|
+
formatSeedExpression
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=columnUtils.js.map
|