GitHub users that choose not to publicize their membership in an organization will not have their email available to us. Therefore we need to choose something else to map from their OAuth identity to our internal User model. This PR adds a uid column to the User model which will store either the id number from a Google OAuth identity_url or the uid value from GitHub OAuth.
After performing the upgrade you'll need to migrate (bundle exec rake db:migrate:up) and then restart the service again to load the new User model. In the off chance that you're already running the new User model code (#87), you will probably want to delete your users (delete from users; or VERSION=6 bundle exec rake db:migrate:to && bundle exec rake db:migrate:up) before performing the aforementioned migration.
bundle exec rake db:migrate:up
delete from users;
VERSION=6 bundle exec rake db:migrate:to && bundle exec rake db:migrate:up
add uid column to user model
save email and uid in our session, nothing else
map users by uid, not email
find users by uid
reference user uid instead of email
wrong path to uid
allow null email in user model
accept session user object as arg, save email on create
pass session user to find
cast id to string