Add Share Users Access Cache Table and Triggers for Performance Improvement

This looks strange. Why is the `toOne` called `username` and not `userAccount` or suchlike?