Search in sources :

Example 1 with Index

use of liquibase.database.structure.Index in project collect by openforis.

the class LiquidbaseDatabaseSnapshotBuilder method createPKIndexes.

private void createPKIndexes() {
    for (org.openforis.collect.relational.model.Table<?> itable : schema.getTables()) {
        Table ltable = snapshot.getTable(itable.getName());
        PrimaryKeyConstraint pkConstraint = itable.getPrimaryKeyConstraint();
        Index index = new Index();
        index.setTable(ltable);
        index.setName(pkConstraint.getName() + "_idx");
        List<org.openforis.collect.relational.model.Column<?>> columns = pkConstraint.getColumns();
        for (org.openforis.collect.relational.model.Column<?> column : columns) {
            index.addAssociatedWith(Index.MARK_PRIMARY_KEY);
            index.getColumns().add(column.getName());
        }
        snapshot.getIndexes().add(index);
    }
}
Also used : Table(liquibase.database.structure.Table) PrimaryKeyColumn(org.openforis.collect.relational.model.PrimaryKeyColumn) Column(liquibase.database.structure.Column) Index(liquibase.database.structure.Index) PrimaryKeyConstraint(org.openforis.collect.relational.model.PrimaryKeyConstraint)

Aggregations

Column (liquibase.database.structure.Column)1 Index (liquibase.database.structure.Index)1 Table (liquibase.database.structure.Table)1 PrimaryKeyColumn (org.openforis.collect.relational.model.PrimaryKeyColumn)1 PrimaryKeyConstraint (org.openforis.collect.relational.model.PrimaryKeyConstraint)1