Standalone foreign key validation
What does this MR do?
Inspired by the following comment by @abrandl :
How are we going to validate the constraint once we're sure it holds? Should we expose that in a similar manner in the migration helpers, so that we can use
validate_foreign_key :table, :column
or similar (with inferred constraint name etc.)?
A method that allows standalone validation of an unvalidated foreign key. This may be useful if an unconstrained id needs a foreign key, but invalid data may need to be fixed before validation can take place. This MR creates a helper for such validation to occur after the fact.
Basic checks to ensure the foreign key exists in the first place.
Screenshots
Does this MR meet the acceptance criteria?
Conformity
- [-] Changelog entry
- [-] Documentation (if required)
-
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides - [-] Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. -
Tested in all supported browsers
Security
If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:
-
Label as security and @ mention @gitlab-com/gl-security/appsec
-
The MR includes necessary changes to maintain consistency between UI, API, email, or other methods -
Security reports checked/validated by a reviewer from the AppSec team