gpt4 book ai didi

multi-tenant - EF Core 迁移 - 多个数据库

转载 作者:行者123 更新时间:2023-12-01 03:07:42 25 4
gpt4 key购买 nike

有没有办法在具有相同表集的多个数据库上运行 EF Core 迁移。这适用于 Multi-Tenancy 架构,其中有一个主数据库(具有所有租户数据库的元数据,包括租户数据库连接字符串)和每个租户一个具有相同数据库对象集的数据库。我们需要能够在 SaaS 模型中自动创建新租户数据库时运行这些迁移,并且在数据库结构发生更改(新列、数据类型更改、新索引等)时也运行这些迁移。

最佳答案

我已经在 EF Core's GitHub 上发布了这个完全相同的问题.

答案是,它不能在设计时完成。您基本上需要在每个租户的数据库上手动运行迁移脚本。

然而,在运行时执行迁移很容易。您可以在应用启动时为每个连接字符串实例化一个 dbContext(如果是 Web 应用,则在 WebHost.Run() 之前)并像这样执行迁移: dbContext.Database.Migrate();

当然,这并不理想,因为它使您更难使用 Visual Studio 包管理器控制台或使用 dotnet ef 命令的 CLI 将迁移回滚到某个点。

关于multi-tenant - EF Core 迁移 - 多个数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55124485/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com