What database design would you suggest for the following example?
Example: Imagine a bus with some people inside. Every person has some attributes like name, etc. Also there are driver- and passenger-specific attributes. Every few hours the roles change - meaning, that the driver becomes a normal passenger and one of the passengers becomes the driver. What would be an elegant way to model this? The project I'm working on is written in Ruby but I guess it doesn't really matter.
I thought about either using AASM (a state machine) or to work with a "Current-Role"-table which includes the user_id and the current role. But this seems kind of wrong to me. Thanks in advance for your suggestions!