我正在开发一个多租户应用程序,我选择了“共享数据库/分离模式”方法。
我的想法是有一个默认架构(dbo
),并在部署此架构时对租户的架构(tenantA
,tenantB
,tenantC
)进行更新;换句话说,使同步架构。
如何同步租户架构与默认架构?
我正在使用SQL Server 2008。
我正在开发一个多租户应用程序,我选择了“共享数据库/分离模式”方法。
我的想法是有一个默认架构(dbo
),并在部署此架构时对租户的架构(tenantA
,tenantB
,tenantC
)进行更新;换句话说,使同步架构。
如何同步租户架构与默认架构?
我正在使用SQL Server 2008。
据我所知,没有魔法命令可以同步模式。您需要使用工具 - 自己构建或购买(请查看Red Gate's SQL Compare和SQL Examiner - 您需要调整它们以比较不同的模式)。
但是,仅仅进行同步通常是棘手的。如果您添加了一列,是否还需要用数据填充该列?如果您将一列拆分为两个新列,则必须有类似于此类的转换代码。
我的建议是非常小心地跟踪针对dbo模式运行的任何脚本,并确保在适当时也针对其他模式运行这些脚本。然后,您可以偶尔使用SQL Compare等工具进行健全性检查,以查找任何意外的差异。