I am writing a multi tenant application in which each tenant has their own schema in a database or their own database. Because the tenant data is separate I'd like to be able to customize their tables by adding columns, or by creating additional views to meet their specific needs. Ideally, I'd like to make changes without recompiling the code.
This desire seems to run counter to how MVC is intended to work. My question is, can MVC and a multi schema, multi tenant architecture work when the schemas differ from each other slightly? If so, how do I design models that will allow for those variations?