Search in sources :

Example 1 with BooleanColumnDef

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);
}
Also used : VarcharColumnDef(org.sonar.server.platform.db.migration.def.VarcharColumnDef) BooleanColumnDef(org.sonar.server.platform.db.migration.def.BooleanColumnDef)

Example 2 with BooleanColumnDef

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);
}
Also used : BooleanColumnDef(org.sonar.server.platform.db.migration.def.BooleanColumnDef) H2(org.sonar.db.dialect.H2) Test(org.junit.Test)

Aggregations

BooleanColumnDef (org.sonar.server.platform.db.migration.def.BooleanColumnDef)2 Test (org.junit.Test)1 H2 (org.sonar.db.dialect.H2)1 VarcharColumnDef (org.sonar.server.platform.db.migration.def.VarcharColumnDef)1