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

Loading