【问题标题】:Abp.io: 'Out of the box' Multi Tenancy - Fails to Connect - Separate SQL Database Connection String for each TenantAbp.io:“开箱即用”多租户 - 无法连接 - 为每个租户单独的 SQL 数据库连接字符串
【发布时间】:2019-12-08 21:31:24
【问题描述】:

我想尝试一下标准的分层 ASP.NET Core 3.1 Abp.io 模板,网址为:https://Abp.io

我已按照设置说明运行迁移脚本以在 localdb 中创建主机数据库,并且能够成功加载 UI。

我使用默认凭据登录,然后在 UI 的“租户管理”下创建一个新租户。我为该租户指定了一个自定义数据库连接字符串。

我打开 SQL Server Management Studio 并在 localdb 中创建一个与之匹配的空数据库。

接下来,我退出管理员主机用户,然后按“切换租户”并输入我刚刚创建的租户名称。加载时卡住,出现一堆SQL异常,最后放弃,显示无法连接错误。

我需要采取哪些步骤来为租户设置单独的数据库?创建空数据库后是否需要运行任何迁移脚本?

【问题讨论】:

  • 当我使用在 localhost 上运行的 SQL Server 而不是 localdb 重复该过程时,它能够连接。我收到以下错误:处理请求时发生未处理的异常。 SqlException:无效的对象名称“AbpSettings”。 Microsoft.Data.SqlClient.SqlCommand+c.b__164_0(任务结果)DependencyResolutionException:调用构造函数'Void .ctor(Volo.Abp.Identity.IdentityUserStore,Microsoft.Extensions.Options.IOptions1 [Microsoft.AspNetCore .Identity.IdentityOptions] .........
  • 在您的问题中包含完整的堆栈跟踪。
  • 嘿@Aaron,我认为这只是此功能尚未开发的情况。当我手动创建该表时,每个后续表都会引发错误,它可以工作! :)

标签: asp.net-core multi-tenant aspnetboilerplate abp


【解决方案1】:

@Aidan,我认为您需要在使用新引入的连接字符串创建新租户后再次运行 DbMigrator。迁移工具应遍历租户连接字符串并应用最新迁移。然后您应该能够使用新的租户。希望有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多