use of org.sonar.server.platform.db.migration.def.ColumnDef in project sonarqube by SonarSource.
the class AlterColumnsBuilder method createMsSqlAndH2Queries.
private List<String> createMsSqlAndH2Queries() {
List<String> sqls = new ArrayList<>();
for (ColumnDef columnDef : columnDefs) {
StringBuilder defaultQuery = new StringBuilder(ALTER_TABLE + tableName + " ");
defaultQuery.append(ALTER_COLUMN);
addColumn(defaultQuery, columnDef, "", true);
sqls.add(defaultQuery.toString());
}
return sqls;
}
use of org.sonar.server.platform.db.migration.def.ColumnDef in project sonarqube by SonarSource.
the class AlterColumnsBuilder method createPostgresQuery.
private List<String> createPostgresQuery() {
StringBuilder sql = new StringBuilder(ALTER_TABLE + tableName + " ");
for (Iterator<ColumnDef> columnDefIterator = columnDefs.iterator(); columnDefIterator.hasNext(); ) {
ColumnDef columnDef = columnDefIterator.next();
sql.append(ALTER_COLUMN);
addColumn(sql, columnDef, "TYPE ", false);
sql.append(", ");
sql.append(ALTER_COLUMN);
sql.append(columnDef.getName());
sql.append(' ').append(columnDef.isNullable() ? "DROP" : "SET").append(" NOT NULL");
if (columnDefIterator.hasNext()) {
sql.append(", ");
}
}
return Collections.singletonList(sql.toString());
}
use of org.sonar.server.platform.db.migration.def.ColumnDef 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());
}
use of org.sonar.server.platform.db.migration.def.ColumnDef in project sonarqube by SonarSource.
the class AlterColumnsBuilder method createOracleQuery.
private List<String> createOracleQuery() {
List<String> sqls = new ArrayList<>();
for (ColumnDef columnDef : columnDefs) {
StringBuilder sql = new StringBuilder(ALTER_TABLE + tableName + " ").append("MODIFY (");
addColumn(sql, columnDef, "", true);
sql.append(")");
sqls.add(sql.toString());
}
return sqls;
}
use of org.sonar.server.platform.db.migration.def.ColumnDef in project sonarqube by SonarSource.
the class CreateTableBuilder method appendColumns.
private void appendColumns(StringBuilder res, Dialect dialect, List<ColumnDef> columnDefs) {
if (columnDefs.isEmpty()) {
return;
}
Iterator<ColumnDef> columnDefIterator = columnDefs.iterator();
while (columnDefIterator.hasNext()) {
ColumnDef columnDef = columnDefIterator.next();
res.append(columnDef.getName());
res.append(' ');
appendDataType(res, dialect, columnDef);
appendDefaultValue(res, columnDef);
appendNullConstraint(res, columnDef);
appendColumnFlags(res, dialect, columnDef);
if (columnDefIterator.hasNext()) {
res.append(',');
}
}
}
Aggregations