繁体   English   中英

实体框架6数据库迁移,用于隔离的多租户设置

[英]Entity Framework 6 database migrations for isolated multi-tenant setup

我了解数据库迁移可能不是部署此解决方案的最佳方法,因此任何建议将不胜感激。

我有x个相同的数据库架构,每个客户端一个。

我还为每个数据库都有模型,并且能够部署创建新克隆的迁移。 到目前为止,我一直在使用PHP和脚本遍历所有模式并更新对结构的任何更改。 由于Web API 2和属性路由,我们将移至C#和EF6。

我的问题是; 有没有办法:

  1. 部署一个build命令,该命令将执行update-database对于迁移的作用,并向其传递数据库名称(以便创建帐户数据库的新克隆模式?

  2. 部署一个构建命令,该命令可能会通过每个目标数据库来递归执行update-database操作?

“我有x个相同的数据库模式,每个客户端一个”

“我也为每个数据库都有模型”

您的意思是说我也为每个模式都有模型吗?

EF模型实体链接到Schema / TableName。

entity.ToTable(“ tableName”,“ schemaName”);

因此,如果每个客户端都有自己的架构,则每个模型都具有该架构中的所有表,并且客户端也会获得自己的模型。 因此,如何在每个上下文模型上运行update-database。 我以另一种方式看待这个问题。

因此,答案在于您如何跟踪每个客户端信息的架构。

您可能会对Powershell migrate.exe方法感兴趣,因此可以在许多上下文模型上触发迁移。

自定义迁移操作也可能很有趣。 Rowan是EF开发人员。

编辑:基于自动迁移评论,这是值得一试 管理迁移代码触发

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM