use of org.sonar.server.platform.db.migration.def.BooleanColumnDef in project sonarqube by SonarSource.
the class CreateInitialSchema method createCeActivity.
private void createCeActivity(Context context) throws SQLException {
VarcharColumnDef uuidCol = newLenientVarcharBuilder("uuid").setLimit(40).setIsNullable(false).build();
VarcharColumnDef isLastKeyCol = newLenientVarcharBuilder("is_last_key").setLimit(55).setIsNullable(false).build();
BooleanColumnDef isLastCol = newBooleanColumnDefBuilder().setColumnName("is_last").setIsNullable(false).build();
VarcharColumnDef statusCol = newLenientVarcharBuilder("status").setLimit(15).setIsNullable(false).build();
VarcharColumnDef componentUuidCol = newLenientVarcharBuilder("component_uuid").setLimit(40).build();
context.execute(newTableBuilder("ce_activity").addPkColumn(newIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT).addColumn(uuidCol).addColumn(newLenientVarcharBuilder("task_type").setLimit(15).setIsNullable(false).build()).addColumn(componentUuidCol).addColumn(statusCol).addColumn(isLastCol).addColumn(isLastKeyCol).addColumn(newLenientVarcharBuilder("submitter_login").setLimit(255).build()).addColumn(newBigIntegerColumnDefBuilder().setColumnName("submitted_at").setIsNullable(false).build()).addColumn(newBigIntegerColumnDefBuilder().setColumnName("started_at").build()).addColumn(newBigIntegerColumnDefBuilder().setColumnName("executed_at").build()).addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build()).addColumn(newBigIntegerColumnDefBuilder().setColumnName("updated_at").setIsNullable(false).build()).addColumn(newBigIntegerColumnDefBuilder().setColumnName("execution_time_ms").build()).addColumn(newBigIntegerColumnDefBuilder().setColumnName("snapshot_id").build()).build());
addIndex(context, "ce_activity", "ce_activity_component_uuid", false, componentUuidCol);
addIndex(context, "ce_activity", "ce_activity_islast_status", false, isLastCol, statusCol);
addIndex(context, "ce_activity", "ce_activity_islastkey", false, isLastKeyCol);
addIndex(context, "ce_activity", "ce_activity_uuid", true, uuidCol);
}
use of org.sonar.server.platform.db.migration.def.BooleanColumnDef in project sonarqube by SonarSource.
the class AlterColumnsBuilderTest method updateColumn_throws_IAE_if_default_value_is_defined.
/**
* As we want DEFAULT value to be removed from all tables, it is supported
* only on creation of tables and columns, not on alter.
*/
@Test
public void updateColumn_throws_IAE_if_default_value_is_defined() {
BooleanColumnDef column = newBooleanColumnDefBuilder().setColumnName("enabled").setIsNullable(false).setDefaultValue(false).build();
AlterColumnsBuilder alterColumnsBuilder = new AlterColumnsBuilder(new H2(), TABLE_NAME);
thrown.expect(IllegalArgumentException.class);
thrown.expectMessage("Default value is not supported on alter of column 'enabled'");
alterColumnsBuilder.updateColumn(column);
}
Aggregations