use of org.sonar.server.platform.db.migration.sql.CreateIndexBuilder in project sonarqube by SonarSource.
the class MakeComponentUuidColumnsNotNullOnSnapshots method execute.
@Override
public void execute(Context context) throws SQLException {
VarcharColumnDef componentUuid = newUuidColumn("component_uuid");
VarcharColumnDef rootComponentUuid = newUuidColumn("root_component_uuid");
context.execute(new AlterColumnsBuilder(getDatabase().getDialect(), TABLE_SNAPSHOTS).updateColumn(componentUuid).updateColumn(rootComponentUuid).build());
context.execute(new CreateIndexBuilder(getDialect()).setTable(TABLE_SNAPSHOTS).setName("snapshot_component").addColumn(componentUuid).build());
context.execute(new CreateIndexBuilder(getDialect()).setTable(TABLE_SNAPSHOTS).setName("snapshot_root_component").addColumn(rootComponentUuid).build());
}
use of org.sonar.server.platform.db.migration.sql.CreateIndexBuilder in project sonarqube by SonarSource.
the class MakeComponentUuidAndAnalysisUuidNotNullOnDuplicationsIndex method execute.
@Override
public void execute(Context context) throws SQLException {
VarcharColumnDef analysisUuid = newUuidColumn("analysis_uuid");
VarcharColumnDef componentUuid = newUuidColumn("component_uuid");
context.execute(new AlterColumnsBuilder(getDatabase().getDialect(), TABLE_DUPLICATIONS_INDEX).updateColumn(componentUuid).updateColumn(analysisUuid).build());
context.execute(new CreateIndexBuilder(getDialect()).setTable(TABLE_DUPLICATIONS_INDEX).setName("duplication_analysis_component").addColumn(analysisUuid).addColumn(componentUuid).build());
}
use of org.sonar.server.platform.db.migration.sql.CreateIndexBuilder in project sonarqube by SonarSource.
the class IncludeOrganizationUuidInUniqueIndexOfGroupRoles method execute.
@Override
public void execute(Context context) throws SQLException {
context.execute(new DropIndexBuilder(getDialect()).setTable(TABLE_GROUP_ROLES).setName("uniq_group_roles").build());
context.execute(new CreateIndexBuilder(getDialect()).setTable(TABLE_GROUP_ROLES).setName("uniq_group_roles").setUnique(true).addColumn(newVarcharColumnDefBuilder().setColumnName("organization_uuid").setLimit(40).setIgnoreOracleUnit(true).build()).addColumn(newIntegerColumnDefBuilder().setColumnName("group_id").build()).addColumn(newIntegerColumnDefBuilder().setColumnName("resource_id").build()).addColumn(newVarcharColumnDefBuilder().setColumnName("role").setLimit(64).setIgnoreOracleUnit(true).build()).build());
}
use of org.sonar.server.platform.db.migration.sql.CreateIndexBuilder in project sonarqube by SonarSource.
the class MakeUuidNotNullOnEvents method execute.
@Override
public void execute(Context context) throws SQLException {
VarcharColumnDef uuidColumn = newVarcharColumnDefBuilder().setColumnName("uuid").setLimit(UUID_SIZE).setIsNullable(false).build();
context.execute(new AlterColumnsBuilder(getDatabase().getDialect(), TABLE).updateColumn(uuidColumn).build());
context.execute(new CreateIndexBuilder(getDialect()).setTable(TABLE).setName("events_uuid").setUnique(true).addColumn(uuidColumn).build());
}
Aggregations