Search in sources :

Example 11 with IntegerColumnDef

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

Example 12 with IntegerColumnDef

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

Example 13 with IntegerColumnDef

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

Example 14 with IntegerColumnDef

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

Example 15 with IntegerColumnDef

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

Aggregations

IntegerColumnDef (org.sonar.server.platform.db.migration.def.IntegerColumnDef)16 BigIntegerColumnDef (org.sonar.server.platform.db.migration.def.BigIntegerColumnDef)15 VarcharColumnDef (org.sonar.server.platform.db.migration.def.VarcharColumnDef)9 TinyIntColumnDef (org.sonar.server.platform.db.migration.def.TinyIntColumnDef)1 CreateIndexBuilder (org.sonar.server.platform.db.migration.sql.CreateIndexBuilder)1 CreateTableBuilder (org.sonar.server.platform.db.migration.sql.CreateTableBuilder)1