【发布时间】:2016-05-23 16:27:43
【问题描述】:
我正在使用 Entity Framework 开发一个多租户 Web 应用程序,该项目正在积极开发中,这个过程可能需要一两年的时间。我使用Migrations 管理数据库更改、添加新表和子系统、管理数据库triggers、播种默认数据等。添加新租户时也会使用它们,每个客户可能有几个不同的数据库,并且应用程序能够使用migrations 构建每个数据库。
但有一个问题,管理更改和保持迁移干净变得越来越难。虽然我们构建的系统不到 10%,但我最终完成了 50 多个迁移,并且花了几个小时将它们平铺成三到四个逻辑迁移。
这种方法还有另一个问题:破坏性更改。例如,当我使用view 时,向主表添加一个字段并不会更新视图等等。
你知道解决这些问题的方法吗?您使用什么方法让您的应用能够在您仍在开发它的同时构建其数据库,并且它会经常更改。
【问题讨论】:
-
谈到管理迁移,我经常参考这篇博文。我明白了你对逻辑迁移的概念——我们基本上通过滚动多个迁移来做同样的事情。 cpratt.co/…
标签: entity-framework ef-code-first multi-tenant entity-framework-migrations