[ci skip] Suggest using composite primary key on join tables in :through
associations
#49218
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.
Currently Rails suggests to create tables with no primary key to be used as a join table for a
has_and_belongs_to_many
association which makes sense since there is no model backing the tableHowever for a join table with a backing model it may make more sense to choose a composite primary key on both
foreign_key_1, foreign_key_2
column instead of unnecessarily keeping theid
column .This PR adds a suggestion to consider composite primary key for join tables that are represented by a whole model
We are utilizing this suggestion ourselves in the Rails test suite - #49206