Skip to content

Resolve "Database Design"

Stefan Schorkmeier requested to merge 47-database-design into master

Closes #47 (closed)

Design choices:

  • We will use SQLalchemy and a PostgreSQL database.
  • Double bordered fields like user_details are uesd to reduce amount of Null values in DB.
  • papwer_raw_details field is used in case that the CSV headers can't be matches with any of the available papers. If that's the case, we simply safe it as a JSON string.
  • We use Strings for all paper details, since we are not certain whether fields always return values we might expect. Therefore the backend will handle further logic.
  • This DB should be in 3. normal form.
  • User details like role_in_work, organization etc. inspired from Covidence.

Future decisions:

  • If we use SSO, we might replace user_id in user with cern_upn and move user_email to user_details.
  • Also we might then remove some columns (eg names are getting safed by SSO, so do we need to safe them as well?).
Edited by Stefan Schorkmeier

Merge request reports