.net 如何更新多个SQL Server数据库架构
这是我的困境 我正在使用ASP.net MVC3和SQL Server开发一些SaaS 将有多个公司使用该软件,每个公司将有多个用户。为了确保数据不会意外地从一个公司到另一个公司可见,我将数据库设置为每个公司的单独数据库,然后web服务器处理其他一切:UI、逻辑等 我已经可以预见到一个问题,我需要在它成为真正的问题之前决定如何最好地处理它。有了这些多个数据库,如果今年一切顺利的话,到年底我们可能会有500个客户。显然,不可能手动同步模式。VS2010有一个很好的SQL比较脚本工具,这将很有帮助,但是我应该如何确保所有数据库都是最新版本的呢 问题2 系统的设计方式是非常模块化的,因此客户端将能够根据其特定需求添加小部件和东西,从而将新表添加到特定的数据库中。所以在理论上,每个数据库都会有一点不同。我认为处理这个问题的最好方法是放弃所有的更改脚本,这样您就可以.net 如何更新多个SQL Server数据库架构,.net,sql-server,database,asp.net-mvc-3,database-schema,.net,Sql Server,Database,Asp.net Mvc 3,Database Schema,这是我的困境 我正在使用ASP.net MVC3和SQL Server开发一些SaaS 将有多个公司使用该软件,每个公司将有多个用户。为了确保数据不会意外地从一个公司到另一个公司可见,我将数据库设置为每个公司的单独数据库,然后web服务器处理其他一切:UI、逻辑等 我已经可以预见到一个问题,我需要在它成为真正的问题之前决定如何最好地处理它。有了这些多个数据库,如果今年一切顺利的话,到年底我们可能会有500个客户。显然,不可能手动同步模式。VS2010有一个很好的SQL比较脚本工具,这将很有帮助,
Core.sql
Widget-Map.sql
Widget-HR.sql
etc..
我的这种想法是正确的,还是有更实际的方法来应对这种情况
我已经研究了RedGateSqlCompare,我很喜欢它,但是它在多数据库的情况下仍然没有帮助
因此,在这种情况下,我应该创建自己的工具来更新模式吗
如果有任何建议,提示,链接。如果能让这项任务不那么艰巨,我们将不胜感激
非常感谢您提供的一切帮助
我已经读过一些资料,
除了进行结构升级的ORM之外,这些方法可以分解为:
我有一个工具可以做到这一点,应该可以在MS SQL上使用,但我现在只在Postgres上测试,所以我不会发布链接,因为我不想浪费您的时间。理论上,您可以在源代码管理中为每个不同的模式版本创建一个单独的分支,当您需要更新它们时,使用SQL Compare Pro命令行进行更新源代码管理的方向。这将要求您使用SQL Compare Pro可以识别的源代码可控格式保存架构
请联系support@red-如果您需要任何帮助,请访问gate.com尝试或设置此功能。Visula Studio GDR数据库项目与(3)类似但其优越之处在于模式受源代码控制。GDR项目可以很灵活,但工作良好。@Mitch我想我应该指出,您的字典/模式将受源代码控制:)根据Mitch的建议,我正在研究数据库项目,因此,我将在我的progressGert Drapers博客上阅读并更新大量GDR R2信息:@MitchWheat谢谢你的链接。我刚刚安装了Team Foundation Server,现在正在将数据库模式转换为数据库项目,我认为这将使这非常容易。再次感谢您的回复,我计划使用RedGate的一些工具,但是,在新的2010数据库项目中,它允许我在VisualStudio中拥有一个源代码控制的数据库模式,而无需太多麻烦。