DB schema generated by a migration may look different in rails 4 and 5 (because rails 5 may use different default values). For this reason it's important to explicitly set for which rails version a migration was written for. See https://stackoverflow.com/questions/35929869/activerecordmigration-deprecation-warning-asks-for-rails-version-but-im-no/35930912#35930912
accepted_terms
This will act as a cache, otherwise we would need to load the `term_agreements` for a user on each request. Using this field the result we're interested in is loaded when the current user is loaded, without causing an extra query.