diff --git a/src/main/kotlin/unibz.cs.semint.kprime/domain/dml/DropColumn.kt b/src/main/kotlin/unibz.cs.semint.kprime/domain/dml/DropColumn.kt index 1d34f5066f7b4481c743992a8758c9941c1f5f3d..c58e9731d89d099314fdf48c52bb4271ea259685 100644 --- a/src/main/kotlin/unibz.cs.semint.kprime/domain/dml/DropColumn.kt +++ b/src/main/kotlin/unibz.cs.semint.kprime/domain/dml/DropColumn.kt @@ -5,6 +5,9 @@ import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty class DropColumn { + @JacksonXmlProperty(isAttribute = true) + var tableName :String = "" + @JacksonXmlProperty(isAttribute = true) var name :String = "" } \ No newline at end of file diff --git a/src/main/kotlin/unibz.cs.semint.kprime/usecase/common/SQLizeDropUseCase.kt b/src/main/kotlin/unibz.cs.semint.kprime/usecase/common/SQLizeDropUseCase.kt index dd523137a50e6d57688d9189742c88d02af0deb6..a41e09251849fae3ee3e43a3db1d6bb141346993 100644 --- a/src/main/kotlin/unibz.cs.semint.kprime/usecase/common/SQLizeDropUseCase.kt +++ b/src/main/kotlin/unibz.cs.semint.kprime/usecase/common/SQLizeDropUseCase.kt @@ -1,10 +1,7 @@ package unibz.cs.semint.kprime.usecase.common import unibz.cs.semint.kprime.domain.ddl.Constraint -import unibz.cs.semint.kprime.domain.dml.ChangeSet -import unibz.cs.semint.kprime.domain.dml.DropConstraint -import unibz.cs.semint.kprime.domain.dml.DropTable -import unibz.cs.semint.kprime.domain.dml.DropView +import unibz.cs.semint.kprime.domain.dml.* class SQLizeDropUseCase { @@ -16,9 +13,15 @@ class SQLizeDropUseCase { commands.add(dropViewCommand(dropView)) for (dropConstraint in changeset.dropConstraint) commands.add(dropConstraintCommand(dropConstraint)) + for (dropColumn in changeset.dropColumn) + commands.add(dropColumnsCommand(dropColumn)) return commands } + private fun dropColumnsCommand(dropColumn: DropColumn): String { + return "ALTER TABLE ${dropColumn.tableName} DROP COLUMN ${dropColumn.name};" + } + private fun dropConstraintCommand(dropConstraint: DropConstraint): String { when(dropConstraint.type) { Constraint.TYPE.PRIMARY_KEY.name -> return dropPrimaryKeyCommand(dropConstraint)