All Downloads are FREE. Search and download functionalities are using the official Maven repository.

liquibase.ext.ora.enableconstraint.EnableConstraintChange Maven / Gradle / Ivy

There is a newer version: 4.31.1
Show newest version
package liquibase.ext.ora.enableconstraint;

import liquibase.change.Change;
import liquibase.change.ChangeMetaData;
import liquibase.change.DatabaseChange;
import liquibase.database.Database;
import liquibase.ext.ora.check.CheckAttribute;
import liquibase.ext.ora.disableconstraint.DisableConstraintChange;
import liquibase.statement.SqlStatement;

@DatabaseChange(name="enableConstraint", description = "Enable constraint", priority = ChangeMetaData.PRIORITY_DEFAULT)
public class EnableConstraintChange extends CheckAttribute {

    public EnableConstraintChange() {
    }

    @Override
    public SqlStatement[] generateStatements(Database database) {

        String schemaName = getSchemaName() == null ? database.getDefaultSchemaName() : getSchemaName();

        EnableConstraintStatement statement = new EnableConstraintStatement(getTableName(), schemaName, getConstraintName());
        statement.setTablespace(getTablespace());

        return new SqlStatement[]{statement};
    }

    @Override
    public String getConfirmationMessage() {
        return "Constraint " + getConstraintName() + " ENABLED in " + getTableName();
    }

    @Override
    protected Change[] createInverses() {
        DisableConstraintChange inverse = new DisableConstraintChange();
        inverse.setSchemaName(getSchemaName());
        inverse.setTableName(getTableName());
        inverse.setConstraintName(getConstraintName());

        return new Change[]{inverse};
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy