Package liquibase.change.core.supplier

Source Code of liquibase.change.core.supplier.RenameSequenceChangeSupplier

package liquibase.change.core.supplier;

import static junit.framework.TestCase.assertNotNull;

import liquibase.change.Change;
import liquibase.change.ColumnConfig;
import liquibase.change.core.CreateSequenceChange;
import liquibase.change.core.CreateTableChange;
import liquibase.change.core.RenameSequenceChange;
import liquibase.change.core.RenameTableChange;
import liquibase.diff.DiffResult;
import liquibase.sdk.supplier.change.AbstractChangeSupplier;
import liquibase.structure.core.Table;

public class RenameSequenceChangeSupplier extends AbstractChangeSupplier<RenameSequenceChange>  {

    public RenameSequenceChangeSupplier() {
        super(RenameSequenceChange.class);
    }

    @Override
    public Change[]  prepareDatabase(RenameSequenceChange change) throws Exception {
        CreateSequenceChange createSequenceChange = new CreateSequenceChange();
        createSequenceChange.setCatalogName(change.getCatalogName());
        createSequenceChange.setSchemaName(change.getSchemaName());
        createSequenceChange.setSequenceName(change.getOldSequenceName());

        return new Change[] {createSequenceChange };
    }

    @Override
    public void checkDiffResult(DiffResult diffResult, RenameSequenceChange change) {
        assertNotNull(diffResult.getMissingObject(new Table(change.getCatalogName(), change.getSchemaName(), change.getOldSequenceName())));
        assertNotNull(diffResult.getUnexpectedObject(new Table(change.getCatalogName(), change.getSchemaName(), change.getNewSequenceName())));
    }
}
TOP

Related Classes of liquibase.change.core.supplier.RenameSequenceChangeSupplier

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.