I have a scenario where there is list of things (a list of chores for example) that have two parts, task and description.
On an ongoing basis we assign a group of chores to people. Each assigned chore can be tweaked – the description could be changed to say “don’t forget to do x.”
In this case there is not a has_and_belongs_to (or many_through) relationship between people and chores because we don’t want to edit the main list of chores. We do want to go back later and see who had what chore and what the specific instructions were.
My current idea is:
Chore_Set has_many Chores (Chore_Set_id in each Chore) These chores have no overlap per set and are relatively set.
Chores_User is somehow populated by selecting a Chore_Set, giving a copy of the individual Chores. Chores_user has the User_Id.
Chores_User fields can then be edited or changed without changing the original Chore or Chore_Set