@Override
  public String generateSqlType(Dialect dialect) {
    switch (dialect.getId()) {
      case MsSql.ID:
        return format("NVARCHAR (%d)", columnSize);
      case Oracle.ID:
        return format("VARCHAR2 (%d%s)", columnSize, ignoreOracleUnit ? "" : " CHAR");
      default:
        return format("VARCHAR (%d)", columnSize);
    }
  }
@Test
  public void generate_sql_type() {
    VarcharColumnDef def = new VarcharColumnDef.Builder()
      .setColumnName("issues")
      .setLimit(10)
      .setIsNullable(true)
      .build();

    assertThat(def.generateSqlType(new H2())).isEqualTo("VARCHAR (10)");
    assertThat(def.generateSqlType(new PostgreSql())).isEqualTo("VARCHAR (10)");
    assertThat(def.generateSqlType(new MsSql())).isEqualTo("NVARCHAR (10)");
    assertThat(def.generateSqlType(new Oracle())).isEqualTo("VARCHAR2 (10 CHAR)");
  }