I've been reading up on all the approaches to version REST APIs. In almost all implementations, controllers and views are versioned, however models are not.
To give the rails example, controllers are organized as:
# app/controllers/api/v1/events_controller.rb
class Api::V1::EventsController < Api::ApiController
end
Corresponding views as put in at different versioned directories as well. Why don't we version models? Is it because we expect our model (underlying database schema) to not change as the API evolves? What happens when I rename a column name in the database and need a new model to account for that?