public String build() {
    if (columnDefs.isEmpty()) {
      throw new IllegalStateException("No column has been defined");
    }

    StringBuilder sql = new StringBuilder().append("ALTER TABLE ").append(tableName).append(" ");
    switch (dialect.getId()) {
      case PostgreSql.ID:
        addColumns(sql, "ADD COLUMN ");
        break;
      case MsSql.ID:
        sql.append("ADD ");
        addColumns(sql, "");
        break;
      default:
        sql.append("ADD (");
        addColumns(sql, "");
        sql.append(")");
    }
    return sql.toString();
  }
@Test
  public void fail_with_ISE_if_no_column() {
    assertThatThrownBy(() -> new AddColumnsBuilder(new H2(), TABLE_NAME).build())
      .isInstanceOf(IllegalStateException.class)
      .hasMessage("No column has been defined");

  }