Search in sources :

Example 1 with CreateIndexBuilder

use of org.sonar.server.platform.db.migration.sql.CreateIndexBuilder in project sonarqube by SonarSource.

the class CreateInitialSchema method addIndex.

private void addIndex(Context context, String table, String index, boolean unique, ColumnDef... columns) throws SQLException {
    CreateIndexBuilder builder = new CreateIndexBuilder(getDialect()).setTable(table).setName(index).setUnique(unique);
    for (ColumnDef column : columns) {
        builder.addColumn(column);
    }
    context.execute(builder.build());
}
Also used : ColumnDef(org.sonar.server.platform.db.migration.def.ColumnDef) IntegerColumnDef(org.sonar.server.platform.db.migration.def.IntegerColumnDef) VarcharColumnDef(org.sonar.server.platform.db.migration.def.VarcharColumnDef) TinyIntColumnDef(org.sonar.server.platform.db.migration.def.TinyIntColumnDef) BooleanColumnDef(org.sonar.server.platform.db.migration.def.BooleanColumnDef) BigIntegerColumnDef(org.sonar.server.platform.db.migration.def.BigIntegerColumnDef) CreateIndexBuilder(org.sonar.server.platform.db.migration.sql.CreateIndexBuilder)

Example 2 with CreateIndexBuilder

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

Example 3 with CreateIndexBuilder

use of org.sonar.server.platform.db.migration.sql.CreateIndexBuilder in project sonarqube by SonarSource.

the class MakeUuidColumnsNotNullOnResourceIndex method execute.

@Override
public void execute(Context context) throws SQLException {
    VarcharColumnDef componentUuid = newUuidColumn("component_uuid");
    context.execute(new AlterColumnsBuilder(getDialect(), TABLE_RESOURCE_INDEX).updateColumn(componentUuid).updateColumn(newUuidColumn("root_component_uuid")).build());
    context.execute(new CreateIndexBuilder(getDialect()).setTable(TABLE_RESOURCE_INDEX).setName("resource_index_component").addColumn(componentUuid).build());
}
Also used : VarcharColumnDef(org.sonar.server.platform.db.migration.def.VarcharColumnDef) AlterColumnsBuilder(org.sonar.server.platform.db.migration.sql.AlterColumnsBuilder) CreateIndexBuilder(org.sonar.server.platform.db.migration.sql.CreateIndexBuilder)

Example 4 with CreateIndexBuilder

use of org.sonar.server.platform.db.migration.sql.CreateIndexBuilder in project sonarqube by SonarSource.

the class CreateTableProperties2 method execute.

@Override
public void execute(Context context) throws SQLException {
    VarcharColumnDef propKey = newVarcharColumnDefBuilder().setColumnName("prop_key").setLimit(512).setIsNullable(false).setIgnoreOracleUnit(true).build();
    List<String> stmts = new CreateTableBuilder(getDialect(), TABLE_NAME).addPkColumn(newIntegerColumnDefBuilder().setColumnName("id").setIsNullable(false).build(), AUTO_INCREMENT).addColumn(propKey).addColumn(newBigIntegerColumnDefBuilder().setColumnName("resource_id").setIsNullable(true).build()).addColumn(newBigIntegerColumnDefBuilder().setColumnName("user_id").setIsNullable(true).build()).addColumn(newBooleanColumnDefBuilder().setColumnName("is_empty").setIsNullable(false).build()).addColumn(newVarcharColumnDefBuilder().setColumnName("text_value").setLimit(MAX_SIZE).setIgnoreOracleUnit(true).build()).addColumn(newClobColumnDefBuilder().setColumnName("clob_value").setIsNullable(true).build()).addColumn(newBigIntegerColumnDefBuilder().setColumnName("created_at").setIsNullable(false).build()).withPkConstraintName("pk_properties").build();
    context.execute(stmts);
    context.execute(new CreateIndexBuilder(getDialect()).setTable(TABLE_NAME).setName("properties2_key").addColumn(propKey).build());
}
Also used : VarcharColumnDef(org.sonar.server.platform.db.migration.def.VarcharColumnDef) CreateTableBuilder(org.sonar.server.platform.db.migration.sql.CreateTableBuilder) CreateIndexBuilder(org.sonar.server.platform.db.migration.sql.CreateIndexBuilder)

Example 5 with CreateIndexBuilder

use of org.sonar.server.platform.db.migration.sql.CreateIndexBuilder 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)

Aggregations

CreateIndexBuilder (org.sonar.server.platform.db.migration.sql.CreateIndexBuilder)14 VarcharColumnDef (org.sonar.server.platform.db.migration.def.VarcharColumnDef)11 AlterColumnsBuilder (org.sonar.server.platform.db.migration.sql.AlterColumnsBuilder)6 CreateTableBuilder (org.sonar.server.platform.db.migration.sql.CreateTableBuilder)4 IntegerColumnDef (org.sonar.server.platform.db.migration.def.IntegerColumnDef)2 DropIndexBuilder (org.sonar.server.platform.db.migration.sql.DropIndexBuilder)2 BigIntegerColumnDef (org.sonar.server.platform.db.migration.def.BigIntegerColumnDef)1 BooleanColumnDef (org.sonar.server.platform.db.migration.def.BooleanColumnDef)1 ColumnDef (org.sonar.server.platform.db.migration.def.ColumnDef)1 TinyIntColumnDef (org.sonar.server.platform.db.migration.def.TinyIntColumnDef)1 RenameTableBuilder (org.sonar.server.platform.db.migration.sql.RenameTableBuilder)1