-
-
Notifications
You must be signed in to change notification settings - Fork 504
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Change agency_type to a Rails enum #4241
Comments
I'd like to pick this issue up. |
Go for it! |
It looks like we're currently storing the agency type description string in the database (not the code). Do we want, as part of this PR, a migration to convert agency types from, for example, |
Hmm... that's a good question. I think it's definitely a better approach than storing the full string. We'd have to be very careful about the rollout, though. I think we'd have to do something like allowing both long and short values in the enum hash, then doing the migration, then removing the long values from the hash. |
This issue is marked as stale due to no activity within 30 days. If no further activity is detected within 7 days, it will be unassigned. |
We're just waiting on a data cleanup (#4261) before we move forward on this one. |
Automatically unassigned after 7 days of inactivity. |
NDBN sent me back some stuff, but I need to review it -- probably a Monday job at this point. |
I had provided the requested mapping on #4261 but it hasn't been finished. That would be the next step on this. |
Summary
There are a number of tests that check
PartnerProfile#agency_type
against a string "Other". Some other tests check the value in an array instead:Partner::AGENCY_TYPES['OTHER']
This seems to be hiding a hidden issue, which is that this field really should be an enum. We don't need to go all the way to defining a Postgres enum; we can just turn the field into a Rails enum as documented here.
Things to consider
A bonus to this would be moving the
AGENCY_TYPES
map from thePartner
class to thePartnerProfile
class, as that's where it's actually used.Criteria for Completion
profile.other?
instead of checking against any specific string value.The text was updated successfully, but these errors were encountered: