Allow models used as a GlobalID to be renamed [RUN ALL RSPEC] [RUN AS-IF-FOSS]
What does this MR do?
When a model is renamed and its GlobalID type is used as an argument, we need to continue to support the old model name in the GlobalID type for a period of time.
This change allows renamed models to build GlobalIDs that support the old-format GlobalID.
A deprecated GlobalID:
- Will still
#find
the record. - Is fully supported as an argument (the old GlobalID name can be used in the argument signature, i.e.,
OldModelID
, and also the old GlobalID format, i.e.gid://gitlab/OldModel/1
). - Is mentioned in the docs as deprecated, with the new-format GlobalID taking its place.
An example MR that uses this is !62645 (merged) where the old PrometheusService
model used to build a GlobalID used in arguments has been renamed Integrations::Prometheus
.
TODO:
Some documentation around when a deprecated GlobalID is needed.
Does this MR meet the acceptance criteria?
Conformity
- [-] I have included a changelog entry, or it's not needed. (Does this MR need a changelog?)
-
I have added/updated documentation, or it's not needed. (Is documentation required?) - [-] I have properly separated EE content from FOSS, or this MR is FOSS only. (Where should EE code go?)
- [-] I have added information for database reviewers in the MR description, or it's not needed. (Does this MR have database related changes?)
-
I have self-reviewed this MR per code review guidelines. -
This MR does not harm performance, or I have asked a reviewer to help assess the performance impact. (Merge request performance guidelines) -
I have followed the style guides.
Availability and Testing
-
I have added/updated tests following the Testing Guide, or it's not needed. (Consider all test levels. See the Test Planning Process.) - [-] I have tested this MR in all supported browsers, or it's not needed.
- [-] I have informed the Infrastructure department of a default or new setting change per definition of done, or it's not needed.
Edited by Mayra Cabrera