add DB migration and fix earlier mistakes in student migration history
add tests and fix bugs that came out of those unit tests
remove unused import
pep8/pylint
address some PR feedback
fix tests
fix broken test
try to mock time
use freeze-gun to overload the system time to simulate the future