• Sunday

    • Private work.
    • Lots of gardening.
    • Remember that SQLA relationships define the join conditions and allow convenience ORM access to cols on instances (objects). As opposed to classes (tables), which is used for queries – only has and any exist for those.
    • Confirmed that alembic’s alter_column for a rename does NOT update the names of constraints (like FKs). Same is true for tables (the default prefix of FK constraints). It does update the references and functional pointers, just not the name.
    • SBSC.
    • Continued on the rewrite.
    • Graphql SQLA2 support coming out “soon” as of 5 days ago: https://github.com/graphql-python/graphene-sqlalchemy/pull/368
    • The Contestant change made it so line commit doesn’t have to do score commit. It’s just an initial insert of the 1 Game obj and 2 Contestant objs.
    • Added the functions to the Game class: get_contestants_by_prediction/location/coverage. Also added get_opponent to the Contestant class. All useful. Better located here with the models than elsewhere (queries module, results module, stats, wherever).
    • Removed all the get_la_matchups logic of the scores flow. Much simpler now that we can just look it up on the Game and Contestant objects.
    • Basically got the app working again after all the model changes.
    • Now just need to (1) dynamically loop the stats builders then (2) final optimization.