【发布时间】:2011-02-07 01:13:43
【问题描述】:
这是我的困境,
我正在使用 ASP.net MVC3 和 SQL Server 开发一些 SaaS。
会有多家公司使用该软件,每家公司都有多个用户。为了确保数据不会意外地从一家公司到另一家公司可见,我将数据库设置为每家公司的单独数据库,然后网络服务器处理其他所有事情:UI、逻辑等。
我已经可以预见到一个问题,我需要在它变成一个真正的问题之前决定如何最好地处理它。拥有这些多个数据库,如果今年一切顺利敲木头,我们可能会在年底前获得 500 个客户。出于显而易见的原因,手动同步模式是不可能的。 VS2010 有一个不错的 SQL 比较脚本工具,会很有帮助,但我应该如何确保所有数据库都是最新版本?
问题 2
系统的设计方式非常模块化,因此客户将能够根据他们的特定需求添加小部件和东西,从而将新表添加到特定的数据库中。所以理论上每个数据库都会有所不同。我认为处理此问题的最佳方法是丢弃所有更改脚本,以便您拥有
Core.sql
Widget-Map.sql
Widget-HR.sql
etc..
我的这种思路是正确的,还是有更实际的方法来解决这种情况?
我研究了 Red-Gate SQL 比较,我喜欢它,但它在多数据库情况下仍然没有帮助。
那么在这种情况下,我应该创建自己的工具来更新架构吗?
如果有任何建议、提示、链接。使这项任务不那么艰巨将不胜感激。
非常感谢您的任何帮助,
我已经阅读了一些资料, Migrations for Java
【问题讨论】:
-
根据 Mitch 的建议,我正在研究数据库项目,所以我会阅读 blogs.msdn.com/b/jenss/archive/2010/08/21/… 并更新我的进度
-
Gert Drapers 博客有很多 GDR R2 信息:blogs.msdn.com/b/gertd
-
@MitchWheat 感谢您提供出色的链接。我刚刚设置了 Team Foundation 服务器,目前正在将我的数据库模式转换为数据库项目,我认为这将使这变得非常容易。再次感谢
标签: .net sql-server database asp.net-mvc-3 database-schema