Shy*_*yam 8 multi-tenant entity-framework-core-migrations
有没有办法在具有相同表集的多个数据库上运行 EF Core 迁移。这适用于多租户架构,其中有一个主数据库(具有所有租户数据库的元数据,包括租户数据库连接字符串)和每个租户一个具有相同数据库对象集的数据库。我们需要能够在 SaaS 模型中自动创建新的租户数据库时运行这些迁移,并且在数据库结构发生更改(新列、数据类型更改、新索引等)时也运行这些迁移。
我已在EF Core 的 GitHub上发布了完全相同的问题。
答案是,它不能在设计时完成。您基本上需要在每个租户的数据库上手动运行迁移脚本。
然而,在运行时执行迁移很容易。您可以在应用程序启动时为每个连接字符串实例化一个 dbContext(如果是 Web 应用程序,则在WebHost.Run()之前)并执行迁移,如下所示:dbContext.Database.Migrate();
当然,这并不理想,因为它使您更难使用 Visual Studio 包管理器控制台或使用dotnet ef命令的 CLI 将迁移回滚到某个点。
| 归档时间: |
|
| 查看次数: |
2072 次 |
| 最近记录: |