use of org.sonar.server.platform.db.migration.def.VarcharColumnDef 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.def.VarcharColumnDef 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.def.VarcharColumnDef in project sonarqube by SonarSource.
the class CreateInitialSchema method createQualityGates.
private void createQualityGates(Context context) throws SQLException {
VarcharColumnDef nameCol = newLenientVarcharBuilder("name").setLimit(100).setIsNullable(false).build();
context.execute(newTableBuilder("quality_gates").addPkColumn(newIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT).addColumn(nameCol).addColumn(newTimestampColumnDefBuilder().setColumnName("created_at").setIsNullable(true).build()).addColumn(newTimestampColumnDefBuilder().setColumnName("updated_at").setIsNullable(true).build()).build());
addIndex(context, "quality_gates", "uniq_quality_gates", true, nameCol);
}
use of org.sonar.server.platform.db.migration.def.VarcharColumnDef in project sonarqube by SonarSource.
the class CreateInitialSchema method createDuplicationsIndex.
private void createDuplicationsIndex(Context context) throws SQLException {
VarcharColumnDef hashCol = newLenientVarcharBuilder("hash").setLimit(50).setIsNullable(false).build();
IntegerColumnDef snapshotIdCol = newIntegerColumnDefBuilder().setColumnName("snapshot_id").setIsNullable(false).build();
context.execute(newTableBuilder("duplications_index").addPkColumn(newBigIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT).addColumn(newIntegerColumnDefBuilder().setColumnName("project_snapshot_id").setIsNullable(false).build()).addColumn(snapshotIdCol).addColumn(hashCol).addColumn(newIntegerColumnDefBuilder().setColumnName("index_in_file").setIsNullable(false).build()).addColumn(newIntegerColumnDefBuilder().setColumnName("start_line").setIsNullable(false).build()).addColumn(newIntegerColumnDefBuilder().setColumnName("end_line").setIsNullable(false).build()).build());
addIndex(context, "duplications_index", "duplications_index_hash", false, hashCol);
addIndex(context, "duplications_index", "duplications_index_sid", false, snapshotIdCol);
}
use of org.sonar.server.platform.db.migration.def.VarcharColumnDef in project sonarqube by SonarSource.
the class CreateInitialSchema method createWidgets.
private void createWidgets(Context context) throws SQLException {
IntegerColumnDef dashboardId = newIntegerColumnDefBuilder().setColumnName("dashboard_id").setIsNullable(false).build();
VarcharColumnDef widgetKey = newLenientVarcharBuilder("widget_key").setLimit(256).setIsNullable(false).build();
context.execute(newTableBuilder("widgets").addPkColumn(newIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT).addColumn(dashboardId).addColumn(widgetKey).addColumn(newLenientVarcharBuilder("name").setLimit(256).setIsNullable(true).build()).addColumn(newLenientVarcharBuilder("description").setLimit(1000).setIsNullable(true).build()).addColumn(newIntegerColumnDefBuilder().setColumnName("column_index").setIsNullable(true).build()).addColumn(newIntegerColumnDefBuilder().setColumnName("row_index").setIsNullable(true).build()).addColumn(newBooleanColumnDefBuilder().setColumnName("configured").setIsNullable(true).build()).addColumn(newTimestampColumnDefBuilder().setColumnName("created_at").setIsNullable(true).build()).addColumn(newTimestampColumnDefBuilder().setColumnName("updated_at").setIsNullable(true).build()).addColumn(newIntegerColumnDefBuilder().setColumnName("resource_id").setIsNullable(true).build()).build());
addIndex(context, "widgets", "widgets_dashboards", false, dashboardId);
addIndex(context, "widgets", "widgets_widgetkey", false, widgetKey);
}
Aggregations