Package liquibase.change.core.supplier

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

package liquibase.change.core.supplier;

import liquibase.change.Change;
import liquibase.change.ColumnConfig;
import liquibase.change.core.CreateTableChange;
import liquibase.change.core.CreateViewChange;
import liquibase.change.core.DropViewChange;
import liquibase.diff.DiffResult;
import liquibase.exception.DatabaseException;
import liquibase.sdk.supplier.change.AbstractChangeSupplier;
import liquibase.structure.core.View;

import static junit.framework.TestCase.assertNotNull;

public class DropViewChangeSupplier extends AbstractChangeSupplier<DropViewChange>  {

    public DropViewChangeSupplier() {
        super(DropViewChange.class);
    }

    @Override
    public Change[]  prepareDatabase(DropViewChange change) throws DatabaseException {
        CreateTableChange createTableChange = new CreateTableChange();
        createTableChange.setCatalogName(change.getCatalogName());
        createTableChange.setSchemaName(change.getSchemaName());
        createTableChange.setTableName("person");
        createTableChange.addColumn(new ColumnConfig().setName("id").setType("int"));
        createTableChange.addColumn(new ColumnConfig().setName("name").setType("varchar(20)"));

        CreateViewChange createViewChange = new CreateViewChange();
        createViewChange.setCatalogName(change.getCatalogName());
        createViewChange.setSchemaName(change.getSchemaName());
        createViewChange.setViewName(change.getViewName());
        createViewChange.setSelectQuery("select * from person");

        return new Change[] {createTableChange, createViewChange };
    }

    @Override
    public void checkDiffResult(DiffResult diffResult, DropViewChange change) {
        assertNotNull(diffResult.getMissingObject(new View(change.getCatalogName(), change.getSchemaName(), change.getViewName())));
    }
}
TOP

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

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.