Skip to content
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

Represent blood by enum #477

Closed
tomaspavlin opened this issue Feb 19, 2021 · 7 comments · Fixed by #482 or #1059
Closed

Represent blood by enum #477

tomaspavlin opened this issue Feb 19, 2021 · 7 comments · Fixed by #482 or #1059
Assignees
Labels
backend Backend related task/PR technical debt

Comments

@tomaspavlin
Copy link
Contributor

🩸 Represent blood by enum

Background

Currently, we store blood type as TEXT in DB and converting blood from db model to typed dataclasses is not working properly.

Needs to be done

We want to use enum for storing blood instead. This needs to be changed in the following db columns:

DonorModel.blood
RecipientModel.blood
RecipientAcceptableBloodModel.blood_type

This will also require to change few tests. Also please verify, that blood type conversion is working properly.

@tomaspavlin tomaspavlin added bug Something isn't working backend Backend related task/PR labels Feb 19, 2021
@kubantjan
Copy link
Member

@tomaspavlin co to znamena ze nefunguje spravne? nekdy se A -> na jine pismenko? jen jak moc je tohle urgentni, jestli jsme mohli nekdy nejakymu pacientovi priradit spatnou krevni skubpinu?

@tomaspavlin
Copy link
Contributor Author

@kubantjan Problém je, že na pár místech vytáhneme krevní skupinu z db a uložíme ji do enum atributu nesprávně jako string a ne jako enum. Mě kvůli tomu pak padaly testy, protože BloodGroup.A != 'A' a pokud se to takhle porovnává i jinde než v testech, potenciálně to nemusí fungovat správně. Ale nezkoumal jsem, jestli se to ve fungování vůbec někdy projeví.

@kubantjan kubantjan linked a pull request Feb 22, 2021 that will close this issue
@kubantjan kubantjan reopened this Feb 26, 2021
@kubantjan
Copy link
Member

Nejak jsme to nezamergovali, nevim proc. asi je ten kod ztraceny, kazdopadne neni prioritni, ale bude fajn to udelat

@kubantjan kubantjan added technical debt and removed bug Something isn't working labels Feb 26, 2021
@kubantjan
Copy link
Member

To co pise tomas neni pravda. BloodGroup.A == 'A'

viz pridany test. Ale upravil jsem ty sql alchemy objekty at fungujou spravne, ale mam pocit, ze to fakt neni issue.

@kubantjan
Copy link
Member

V kódu jsou ještě stringy # TODO: #477 represent blood as enum. A ideální by bylo napsat migrační skript nebo aspoň někam připsat todo, teď by se nám mohlo stát, že se do db dostane jiná hodnota než je v enumu.

@jogobeny
Copy link
Contributor

@kubantjan, je toto fixed kvuli #940?

@kubantjan
Copy link
Member

@kristinagalik tohle se teda muze zavrit?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend Backend related task/PR technical debt
Projects
None yet
3 participants