是否可以在 ASP.NET Core 中对多个数据库使用数据库迁移?

Is it possible to use database migrations with multiple databases in ASP.NET Core?

在我的 ASP.NET 核心应用程序中,我有两个应用程序设置,一个用于生产,一个用于开发。我还使用数据库迁移来管理我的数据库,也就是说,由于它们是两个连接字符串,我只能从 Visual Studio 更新开发数据库。我的问题是,是否可以针对两个连接字符串进行 运行 数据库迁移?即我存储在 appsettings.Production.jsonappsettings.Development.json?

中的连接字符串

appsettings.Development.json

{     
  "ConnectionStrings": {
    "DevConnection": "Server=tcp:devdatabase.database.windows.net,1433;Initial Catalog=MyDevelopment;Persist Security Info=False;User ID=whatever;Password=whatever;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;",
  },
  "AllowedHosts": "*"
}

appsettings.Production.json

{     
  "ConnectionStrings": {
    "ProdConnection": "Server=tcp:proddatabase.database.windows.net,1433;Initial Catalog=MyProduction;Persist Security Info=False;User ID=whatever;Password=whatever;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;",
  },
  "AllowedHosts": "*"
}

我的两个数据库都存储在 Azure 中,通常如果我想进行更改,我将按以下方式创建迁移:

Add-Migration AddedBoolColumns

其次是

Update-Database

迁移采用开发连接字符串并更新开发数据库,​​但生产保持不变,有时我希望将更改的那些也带到该数据库。有办法做到这一点吗?

如果您想 运行 从您的本地计算机进行迁移,您可以将连接字符串作为参数添加到 Update-Database。下面的示例。

Update-Database -Connection your_connection_string

话虽如此,您可以 运行 迁移到任意数量的数据库 ^^