[UPDATE] Turns out I was doing completely unnecessary stuff for creating the database and also not doing required stuff to use the model etc. Huge change that now leverages auto-generated code to initialise the databse, then I populate with sample code and finally the app can run. Tests are still failing though, so they should really be fixed before continuing.