refactor: move denormalisation methods into model classes (wip)
refactor: move denormalisation methods into model classes (wip)
refactor: move denormalisation methods into model classes (wip)
refactor: move de-normalisation code into model classes
minor refactor: inline local method calls
column has unique name including source table