@Override
  public String generateSqlType(Dialect dialect) {
    return switch (dialect.getId()) {
      case PostgreSql.ID -> "SMALLINT";
      case Oracle.ID -> "NUMBER(3)";
      case MsSql.ID, H2.ID -> "TINYINT";
      default -> throw new UnsupportedOperationException(String.format("Unknown dialect '%s'", dialect.getId()));
    };
  }
@Test
  public void generate_sql_type() {
    TinyIntColumnDef def = new TinyIntColumnDef.Builder()
      .setColumnName("foo")
      .setIsNullable(true)
      .build();

    assertThat(def.generateSqlType(new H2())).isEqualTo("TINYINT");
    assertThat(def.generateSqlType(new PostgreSql())).isEqualTo("SMALLINT");
    assertThat(def.generateSqlType(new MsSql())).isEqualTo("TINYINT");
    assertThat(def.generateSqlType(new Oracle())).isEqualTo("NUMBER(3)");
  }