fix: fix unsupported type diff false positives (#5633)
[TML-1493](https://linear.app/prisma-company/issue/TML-1493/fix-unsupported-data-type-issue)
The extension type changes accidentally caused unsupported types to
produce diffs because they weren't considered equal to
`PostgresType::Unknown`, which is what the introspection infers for
unknown columns now.
`None` (no native type defined in schema) and
`Some(PostgresType::Unknown(_))` (unknown type found in introspection)
should be compared using the type name.
The existing type name check is broken though because it compares
`columns.previous` to `columns.previous`. I left that behavior unchanged
intentionally, because the diffs it produces are somewhat broken. They
generate `ALTER TYPE` statements from `full_data_type`, which isn't
always valid, for example when the column type is `vector(3)`, the
`full_data_type` is `vector` so the statement ends up being invalid:
`SET DATA TYPE vector`. This functionality works fine for types without
modifiers though like plain `geometry`. As of this PR though, the diffs
should never occur.
Fixes: https://github.com/prisma/prisma/issues/28237