One possible option for BMS-33 : One user multiple roles. Role as an entity. Very flexi. Could be somewhat complex.
A simpler scheme that still supports multiple roles per user but does not define roles as a separate entity. Role names will be an enumeration in this case. user_roles tables simply stores a collection of roles per user.
Cascade all operations on users to user_roles. Auto assign id to UserRole entity.
* Not-null constraints.
* No copying of roles when workbench user data is copied for use in crop schema.
* Test to setup some users on fresh workbench schema with roles.
Merge: Sync branch 'BMS-33-authentication-authorisation' with 'master'.

Issue: BMS-62
Reviewer: RebeccaB
Moved user roles data setup test out into a separate standalone test.

Issue: BMS-70
Sync: Merge branch 'master' into 'BMS-33-authentication-authorisation'.
Sync: Merged branch 'master' into 'BMS-33-authentication-authorisation'
Merging the branch 'BMS-33-authentication-authorisation' into 'master' so that further development/testing work can be done as part of mainstream.

Issue: BMS-33
Reviewer : RebeccaB