sql-server – 如何在多租户应用程序中更新所有租户的所有架构?
我正在开发一个多租户应用程序.我选择了“共享数据库/单独模式”方法.
我的想法是拥有一个默认模式(dbo),并在部署此模式时,对租户的模式(tenantA,tenantB,tenantC)进行更新;换句话说,制作同步模式. 如何使用默认架构同步租户的架构? 我正在使用SQL Server 2008. 解决方法您需要的第一件事是用于存储架构的版本信息的表或其他机制.如果没有别的,那么您可以将应用程序和架构绑定在一起.没有什么比一个版本的应用程序对错误的模式 – 失败,破坏数据等更痛苦.应用程序应拒绝或关闭,如果它不是正确的版本 – 当它不正确时你可能会得到一些反弹,但保护你免受数据库破坏有价值数据的真正糟糕的一天. 您需要一种方法来跟踪更改,例如Subversion或其他 – 从SQL可以导出初始模式.从这里开始,您将需要一种机制来使用SQL比较等漂亮工具跟踪更改,然后跟踪架构更改并匹配目标数据库中版本号的更新. 我们将每个delta保存在我们构建的升级实用程序下面的单独文件夹中.此实用程序登录到服务器,读取版本信息,然后应用数据库中下一个版本的转换脚本,直到它的子文件夹中找不到更多升级脚本.这使我们能够升级数据库,无论它与当前版本的年龄有多大.如果租户有独特的数据转换,这些将变得棘手. 当然,您应该始终备份写入外部文件的数据库,最好使用人类可识别的版本号,这样您就可以找到它并在脚本出现故障时恢复它.最终它只会计划如何恢复和恢复. 我看到新VS 2010中有某种架构升级工具,但我还没有使用它.这可能对你有用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- SqlServer参数化查询之where in和like实现详解
- SQL中的稀疏点积
- 人工智能自动sql优化工具--SQLTuning for SQL Server
- MySQL5.6 数据库主从同步安装与配置详解(Master/Slave)
- 数据库设计 – 如何在磁盘或数据库上存储稀疏可查询矩阵?
- 转换科学计数法的数值字符串为decimal类型
- 数据库 – DynamoDB:如何在一个月内分配工作量?
- 将MIT-BIH心律失常ECG数据库加载到MATLAB上
- 哈哈,解决:sqlserver服务无法启动(sqlserver评估期已过)
- sql-server – 在存储过程中分页,排序和过滤(SQL Server)