Commit b03d75f
authored
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: prisma/prisma#282371 parent ba26271 commit b03d75f
2 files changed
Lines changed: 74 additions & 5 deletions
File tree
- schema-engine
- connectors/sql-schema-connector/src/flavour/postgres
- sql-migration-tests/tests/migrations/postgres
Lines changed: 4 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
382 | 382 | | |
383 | 383 | | |
384 | 384 | | |
385 | | - | |
386 | | - | |
387 | | - | |
388 | | - | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
389 | 389 | | |
390 | 390 | | |
391 | 391 | | |
| |||
Lines changed: 70 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| |||
581 | 581 | | |
582 | 582 | | |
583 | 583 | | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
| 610 | + | |
| 611 | + | |
| 612 | + | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
0 commit comments