use of org.sonar.server.platform.db.migration.def.IntegerColumnDef 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());
}
use of org.sonar.server.platform.db.migration.def.IntegerColumnDef 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.IntegerColumnDef 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);
}
use of org.sonar.server.platform.db.migration.def.IntegerColumnDef in project sonarqube by SonarSource.
the class CreateInitialSchema method createSnapshots.
private void createSnapshots(Context context) throws SQLException {
IntegerColumnDef projectIdCol = newIntegerColumnDefBuilder().setColumnName("project_id").setIsNullable(false).build();
IntegerColumnDef rootProjectIdCol = newIntegerColumnDefBuilder().setColumnName("root_project_id").setIsNullable(true).build();
IntegerColumnDef parentSnapshotIdCol = newIntegerColumnDefBuilder().setColumnName("parent_snapshot_id").setIsNullable(true).build();
VarcharColumnDef qualifierCol = newLenientVarcharBuilder("qualifier").setLimit(10).setIsNullable(true).build();
IntegerColumnDef rootSnapshotIdCol = newIntegerColumnDefBuilder().setColumnName("root_snapshot_id").setIsNullable(true).build();
context.execute(newTableBuilder("snapshots").addPkColumn(newIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT).addColumn(projectIdCol).addColumn(parentSnapshotIdCol).addColumn(newLenientVarcharBuilder("status").setLimit(4).setIsNullable(false).setDefaultValue("U").build()).addColumn(newBooleanColumnDefBuilder().setColumnName("islast").setIsNullable(false).setDefaultValue(false).build()).addColumn(newLenientVarcharBuilder("scope").setLimit(3).setIsNullable(true).build()).addColumn(qualifierCol).addColumn(rootSnapshotIdCol).addColumn(newLenientVarcharBuilder("version").setLimit(500).setIsNullable(true).build()).addColumn(newLenientVarcharBuilder("path").setLimit(500).setIsNullable(true).build()).addColumn(newIntegerColumnDefBuilder().setColumnName("depth").setIsNullable(true).build()).addColumn(rootProjectIdCol).addColumn(newIntegerColumnDefBuilder().setColumnName("purge_status").setIsNullable(true).build()).addColumn(newLenientVarcharBuilder("period1_mode").setLimit(100).setIsNullable(true).build()).addColumn(newLenientVarcharBuilder("period1_param").setLimit(100).setIsNullable(true).build()).addColumn(newLenientVarcharBuilder("period2_mode").setLimit(100).setIsNullable(true).build()).addColumn(newLenientVarcharBuilder("period2_param").setLimit(100).setIsNullable(true).build()).addColumn(newLenientVarcharBuilder("period3_mode").setLimit(100).setIsNullable(true).build()).addColumn(newLenientVarcharBuilder("period3_param").setLimit(100).setIsNullable(true).build()).addColumn(newLenientVarcharBuilder("period4_mode").setLimit(100).setIsNullable(true).build()).addColumn(newLenientVarcharBuilder("period4_param").setLimit(100).setIsNullable(true).build()).addColumn(newLenientVarcharBuilder("period5_mode").setLimit(100).setIsNullable(true).build()).addColumn(newLenientVarcharBuilder("period5_param").setLimit(100).setIsNullable(true).build()).addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(true).build()).addColumn(newBigIntegerColumnDefBuilder().setColumnName("build_date").setIsNullable(true).build()).addColumn(newBigIntegerColumnDefBuilder().setColumnName("period1_date").setIsNullable(true).build()).addColumn(newBigIntegerColumnDefBuilder().setColumnName("period2_date").setIsNullable(true).build()).addColumn(newBigIntegerColumnDefBuilder().setColumnName("period3_date").setIsNullable(true).build()).addColumn(newBigIntegerColumnDefBuilder().setColumnName("period4_date").setIsNullable(true).build()).addColumn(newBigIntegerColumnDefBuilder().setColumnName("period5_date").setIsNullable(true).build()).build());
addIndex(context, "snapshots", "snapshot_project_id", false, projectIdCol);
addIndex(context, "snapshots", "snapshots_parent", false, parentSnapshotIdCol);
addIndex(context, "snapshots", "snapshots_qualifier", false, qualifierCol);
addIndex(context, "snapshots", "snapshots_root", false, rootSnapshotIdCol);
addIndex(context, "snapshots", "snapshots_root_project_id", false, rootProjectIdCol);
}
use of org.sonar.server.platform.db.migration.def.IntegerColumnDef in project sonarqube by SonarSource.
the class CreateInitialSchema method createUserRoles.
private void createUserRoles(Context context) throws SQLException {
IntegerColumnDef userIdCol = newIntegerColumnDefBuilder().setColumnName("user_id").build();
IntegerColumnDef resourceIdCol = newIntegerColumnDefBuilder().setColumnName("resource_id").build();
context.execute(newTableBuilder("user_roles").addPkColumn(newIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT).addColumn(userIdCol).addColumn(resourceIdCol).addColumn(newLenientVarcharBuilder("role").setLimit(64).setIsNullable(false).build()).build());
addIndex(context, "user_roles", "user_roles_resource", false, resourceIdCol);
addIndex(context, "user_roles", "user_roles_user", false, userIdCol);
}
Aggregations