use of org.sonar.server.platform.db.migration.sql.CreateIndexBuilder in project sonarqube by SonarSource.
the class CreateInitialSchema method addIndex.
private void addIndex(Context context, String table, String index, boolean unique, ColumnDef... columns) throws SQLException {
CreateIndexBuilder builder = new CreateIndexBuilder(getDialect()).setTable(table).setName(index).setUnique(unique);
for (ColumnDef column : columns) {
builder.addColumn(column);
}
context.execute(builder.build());
}
use of org.sonar.server.platform.db.migration.sql.CreateIndexBuilder in project sonarqube by SonarSource.
the class MakeUuidColumnsNotNullOnProjects method execute.
@Override
public void execute(Context context) throws SQLException {
VarcharColumnDef rootUuid = newVarcharColumnDefBuilder().setColumnName("root_uuid").setLimit(UUID_VARCHAR_SIZE).setIsNullable(false).build();
context.execute(new AlterColumnsBuilder(getDialect(), TABLE_PROJECTS).updateColumn(newVarcharColumnDefBuilder().setColumnName("uuid").setLimit(UUID_VARCHAR_SIZE).setIsNullable(false).setIgnoreOracleUnit(true).build()).updateColumn(rootUuid).build());
context.execute(new CreateIndexBuilder(getDialect()).setTable(TABLE_PROJECTS).setName("projects_root_uuid").addColumn(rootUuid).build());
}
use of org.sonar.server.platform.db.migration.sql.CreateIndexBuilder in project sonarqube by SonarSource.
the class MakeUuidColumnsNotNullOnResourceIndex method execute.
@Override
public void execute(Context context) throws SQLException {
VarcharColumnDef componentUuid = newUuidColumn("component_uuid");
context.execute(new AlterColumnsBuilder(getDialect(), TABLE_RESOURCE_INDEX).updateColumn(componentUuid).updateColumn(newUuidColumn("root_component_uuid")).build());
context.execute(new CreateIndexBuilder(getDialect()).setTable(TABLE_RESOURCE_INDEX).setName("resource_index_component").addColumn(componentUuid).build());
}
use of org.sonar.server.platform.db.migration.sql.CreateIndexBuilder in project sonarqube by SonarSource.
the class CreateTableProperties2 method execute.
@Override
public void execute(Context context) throws SQLException {
VarcharColumnDef propKey = newVarcharColumnDefBuilder().setColumnName("prop_key").setLimit(512).setIsNullable(false).setIgnoreOracleUnit(true).build();
List<String> stmts = new CreateTableBuilder(getDialect(), TABLE_NAME).addPkColumn(newIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT).addColumn(propKey).addColumn(newBigIntegerColumnDefBuilder().setColumnName("resource_id").setIsNullable(true).build()).addColumn(newBigIntegerColumnDefBuilder().setColumnName("user_id").setIsNullable(true).build()).addColumn(newBooleanColumnDefBuilder().setColumnName("is_empty").setIsNullable(false).build()).addColumn(newVarcharColumnDefBuilder().setColumnName("text_value").setLimit(MAX_SIZE).setIgnoreOracleUnit(true).build()).addColumn(newClobColumnDefBuilder().setColumnName("clob_value").setIsNullable(true).build()).addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build()).withPkConstraintName("pk_properties").build();
context.execute(stmts);
context.execute(new CreateIndexBuilder(getDialect()).setTable(TABLE_NAME).setName("properties2_key").addColumn(propKey).build());
}
use of org.sonar.server.platform.db.migration.sql.CreateIndexBuilder in project sonarqube by SonarSource.
the class CreatePermTemplatesCharacteristics method execute.
@Override
public void execute(Context context) throws SQLException {
IntegerColumnDef templateIdColumn = newIntegerColumnDefBuilder().setColumnName("template_id").setIsNullable(false).build();
VarcharColumnDef permissionKeyColumn = newVarcharColumnDefBuilder().setColumnName("permission_key").setLimit(64).setIsNullable(false).setIgnoreOracleUnit(true).build();
context.execute(new CreateTableBuilder(getDialect(), TABLE_NAME).addPkColumn(newIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT).addColumn(templateIdColumn).addColumn(permissionKeyColumn).addColumn(newBooleanColumnDefBuilder().setColumnName("with_project_creator").setIsNullable(false).setDefaultValue(false).build()).addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build()).addColumn(newBigIntegerColumnDefBuilder().setColumnName("updated_at").setIsNullable(false).build()).build());
context.execute(new CreateIndexBuilder(getDialect()).setTable(TABLE_NAME).setName("uniq_perm_tpl_charac").setUnique(true).addColumn(templateIdColumn).addColumn(permissionKeyColumn).build());
}
Aggregations