[Pg-kit] Fix Aurora DSQL primary key index detection to prevent unnecessary DROP INDEX #4869
+14
−8
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Fixes an issue where
drizzle-kit pushwould generate unnecessaryDROP INDEXstatements for primary key indexes when working with Amazon Aurora DSQL, causing failures with the error "cannot drop index because constraint requires it".Fixes: #4779
Problem
Aurora DSQL's
pg_stat_user_indexesview does not correctly identify primary key indexes as constraint-generated. This causes the schema introspection logic in drizzle-kit to incorrectly classify primary key indexes as regular indexes that should be dropped during schema synchronization.When running
drizzle-kit pushon a subsequent run, it would attempt to drop primary key indexes.Solution
Replaced the
pg_stat_user_indexesquery with direct system catalog queries using: pg_class, pg_namespace and pg_index.This approach correctly identifies constraint-generated indexes in both Aurora DSQL and standard PostgreSQL environments.