use of org.sonar.server.platform.db.migration.def.VarcharColumnDef in project sonarqube by SonarSource.
the class CreateInitialSchema method createEvents.
private void createEvents(Context context) throws SQLException {
VarcharColumnDef componentUuid = newLenientVarcharBuilder("component_uuid").setLimit(50).setIsNullable(true).build();
IntegerColumnDef snapshotId = newIntegerColumnDefBuilder().setColumnName("snapshot_id").setIsNullable(true).build();
context.execute(newTableBuilder("events").addPkColumn(newIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT).addColumn(newLenientVarcharBuilder("name").setLimit(400).setIsNullable(true).build()).addColumn(snapshotId).addColumn(newLenientVarcharBuilder("category").setLimit(50).build()).addColumn(newLenientVarcharBuilder("description").setLimit(4000).build()).addColumn(newLenientVarcharBuilder("event_data").setLimit(4000).build()).addColumn(newBigIntegerColumnDefBuilder().setColumnName("event_date").setIsNullable(false).build()).addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build()).addColumn(componentUuid).build());
addIndex(context, "events", "events_component_uuid", false, componentUuid);
addIndex(context, "events", "events_snapshot_id", false, snapshotId);
}
use of org.sonar.server.platform.db.migration.def.VarcharColumnDef in project sonarqube by SonarSource.
the class CreateInitialSchema method createProjects.
private void createProjects(Context context) throws SQLException {
VarcharColumnDef keeCol = newLenientVarcharBuilder("kee").setLimit(400).build();
VarcharColumnDef moduleUuidCol = newLenientVarcharBuilder("module_uuid").setLimit(50).build();
VarcharColumnDef projectUuidCol = newLenientVarcharBuilder("project_uuid").setLimit(50).build();
VarcharColumnDef qualifierCol = newLenientVarcharBuilder("qualifier").setLimit(10).build();
IntegerColumnDef rootIdCol = newIntegerColumnDefBuilder().setColumnName("root_id").build();
VarcharColumnDef uuidCol = newLenientVarcharBuilder("uuid").setLimit(50).build();
context.execute(newTableBuilder("projects").addPkColumn(newIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT).addColumn(newLenientVarcharBuilder("name").setLimit(2000).build()).addColumn(newLenientVarcharBuilder("description").setLimit(2000).build()).addColumn(newBooleanColumnDefBuilder().setColumnName("enabled").setDefaultValue(true).setIsNullable(false).build()).addColumn(newLenientVarcharBuilder("scope").setLimit(3).build()).addColumn(qualifierCol).addColumn(keeCol).addColumn(rootIdCol).addColumn(newLenientVarcharBuilder("language").setLimit(20).build()).addColumn(newIntegerColumnDefBuilder().setColumnName("copy_resource_id").build()).addColumn(newLenientVarcharBuilder("long_name").setLimit(2000).build()).addColumn(newIntegerColumnDefBuilder().setColumnName("person_id").build()).addColumn(newTimestampColumnDefBuilder().setColumnName("created_at").build()).addColumn(newLenientVarcharBuilder("path").setLimit(2000).build()).addColumn(newLenientVarcharBuilder("deprecated_kee").setLimit(400).build()).addColumn(uuidCol).addColumn(projectUuidCol).addColumn(moduleUuidCol).addColumn(newLenientVarcharBuilder("module_uuid_path").setLimit(4000).build()).addColumn(newBigIntegerColumnDefBuilder().setColumnName("authorization_updated_at").build()).build());
addIndex(context, "projects", "projects_kee", true, keeCol);
addIndex(context, "projects", "projects_module_uuid", false, moduleUuidCol);
addIndex(context, "projects", "projects_project_uuid", false, projectUuidCol);
addIndex(context, "projects", "projects_qualifier", false, qualifierCol);
addIndex(context, "projects", "projects_root_id", false, rootIdCol);
addIndex(context, "projects", "projects_uuid", true, uuidCol);
}
use of org.sonar.server.platform.db.migration.def.VarcharColumnDef in project sonarqube by SonarSource.
the class CreateInitialSchema method createCeQueue.
private void createCeQueue(Context context) throws SQLException {
VarcharColumnDef uuidCol = newLenientVarcharBuilder("uuid").setLimit(40).setIsNullable(false).build();
VarcharColumnDef componentUuidCol = newLenientVarcharBuilder("component_uuid").setLimit(40).build();
context.execute(newTableBuilder("ce_queue").addPkColumn(newIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT).addColumn(uuidCol).addColumn(newLenientVarcharBuilder("task_type").setLimit(15).setIsNullable(false).build()).addColumn(componentUuidCol).addColumn(newLenientVarcharBuilder("status").setLimit(15).build()).addColumn(newLenientVarcharBuilder("submitter_login").setLimit(255).build()).addColumn(newBigIntegerColumnDefBuilder().setColumnName("started_at").build()).addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build()).addColumn(newBigIntegerColumnDefBuilder().setColumnName("updated_at").setIsNullable(false).build()).build());
addIndex(context, "ce_queue", "ce_queue_component_uuid", false, componentUuidCol);
addIndex(context, "ce_queue", "ce_queue_uuid", true, uuidCol);
}
use of org.sonar.server.platform.db.migration.def.VarcharColumnDef in project sonarqube by SonarSource.
the class CreateInitialSchema method createGroupRoles.
private void createGroupRoles(Context context) throws SQLException {
IntegerColumnDef groupIdCol = newIntegerColumnDefBuilder().setColumnName("group_id").setIsNullable(true).build();
IntegerColumnDef resourceIdCol = newIntegerColumnDefBuilder().setColumnName("resource_id").setIsNullable(true).build();
VarcharColumnDef roleCol = newLenientVarcharBuilder("role").setLimit(64).setIsNullable(false).build();
context.execute(newTableBuilder("group_roles").addPkColumn(newIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT).addColumn(groupIdCol).addColumn(resourceIdCol).addColumn(roleCol).build());
addIndex(context, "group_roles", "group_roles_resource", false, resourceIdCol);
addIndex(context, "group_roles", "uniq_group_roles", true, groupIdCol, resourceIdCol, roleCol);
}
use of org.sonar.server.platform.db.migration.def.VarcharColumnDef in project sonarqube by SonarSource.
the class MakeUuidColumnsNotNullOnProjects method execute.
@Override
public void execute(Context context) throws SQLException {
VarcharColumnDef rootUuid = newVarcharColumnDefBuilder().setColumnName("root_uuid").setLimit(UUID_VARCHAR_SIZE).setIsNullable(false).build();
context.execute(new AlterColumnsBuilder(getDialect(), TABLE_PROJECTS).updateColumn(newVarcharColumnDefBuilder().setColumnName("uuid").setLimit(UUID_VARCHAR_SIZE).setIsNullable(false).setIgnoreOracleUnit(true).build()).updateColumn(rootUuid).build());
context.execute(new CreateIndexBuilder(getDialect()).setTable(TABLE_PROJECTS).setName("projects_root_uuid").addColumn(rootUuid).build());
}
Aggregations