use of org.jooq.CollectCreateIndexStep in project collect by openforis.
the class JooqRelationalSchemaCreator method addCodeListsCodeIndexes.
private void addCodeListsCodeIndexes(RelationalSchema schema, CollectDSLContext dsl) {
for (Table<?> table : schema.getTables()) {
if (table instanceof CodeTable) {
CodeTable codeTable = (CodeTable) table;
org.jooq.Table<Record> jooqTable = jooqTable(schema, table, !dsl.isSchemaLess());
CodeListCodeColumn codeColumn = codeTable.getCodeColumn();
CollectCreateIndexStep createIndexStep = dsl.createIndex(table.getName() + "_code_idx");
if (codeTable.getLevelIdx() == null || codeTable.getLevelIdx() == 0) {
// unique index only for first level or when the code scope is 'scheme'
createIndexStep.unique();
}
createIndexStep.on(jooqTable, field(codeColumn.getName())).execute();
}
}
}
Aggregations