Remove quiz questions from DB after a quiz is finished or aborted
Part of #1030
What does this MR do?
Every time someone starts a quiz, the questions for that session are stored in the database. They now make up a large portion of the database. This change makes the nightly maintenance remove questions and results from all sessions that are older than two weeks. If you try to see the results of an older session, an info message is shown:
How confident are you it won't break things if deployed?
Absolutely. There is no frontend for displaying the questions anyway.
How to test
- Checkout branch locally
- Login as foodsharer (user1)
- Do the foodsaver quiz and see the results. You can find the session's id is in the URL (
sid=...
). - Go to phpMyAdmin (http://localhost:18081/), edit the entry in
fs_quiz_session
with that id, and set the columnsquiz_questions
andquiz_result
to null. - Reload the page from 4. and check that you see the info message.
Checklist
-
added a test, or explain why one is not needed/possible... -
no unrelated changes -
asked someone for a code review -
set a "for:" label to indicate who will be affected by this change -
added to the next milestone (see https://gitlab.com/foodsharing-dev/foodsharing/-/milestones, unless it has a "for:Dev" label) -
added an entry to CHANGELOG.md
-
added a short text that can be used in the release notes -
Once your MR has been merged, you are responsible to create a testing issue in the Beta Testing forum: https://foodsharing.de/?page=bezirk&bid=734&sub=forum. Please change the MRs label to "state:Beta testing". - Consider writing a detailed description in German.
- Describe in a few sentences, what should be tested from a user perspective.
- Also mention different settings (e.g. different browsers, roles, ...) how this change can be tested.
- Be aware, that also non technical people should understand.
Release notes text in German
Edited by Alex