Azure 生产环境中数据库迁移的最佳实践

Edo*_*the 5 c# continuous-integration azure asp.net-core entity-framework-migrations

我正在开发一个由 PostgreSQL 数据库支持的 ASP.Net Core 应用程序。

到目前为止,我的应用程序托管在我的个人 VPS 上,但我想迁移到 Azure 上,并且我不知道如何处理那里的数据库迁移。

我的数据库方案由 Entity Framework Core 处理并与 POCO 映射。如文档中所述,当我想要更改 SQL 方案时,我会更新 POCO,通过命令创建迁移 C# 文件dotnet ef migration create,并Database.Migrate()在运行时通过命令应用它们。这是通过在运行时应用迁移定义的,但是如下所述:

虽然这种方法对于本地开发和迁移测试很有成效,但不适合管理生产数据库。

有一段关于使用SQL 脚本,但没有真正涉及“如何在 CI/CD 管道中应用迁移脚本”。

当然,我查看了Microsoft文档上关于如何在Azure上部署ASP.Net Core应用程序+ SQL DB的官方教程,但是没有任何关于DB迁移的内容(生产DB的迁移是通过CLI从本地应用的)电脑 ...)。

Azure 上没有特定的服务允许我们应用数据库迁移吗?

我知道这个问题既不特定于 Azure,也不特定于 .NET 应用程序,但我担心我的问题太“广泛”。

此外,当在 Google 上查找“数据库迁移”时,大多数结果都是关于从给定数据库到另一个数据库(或从一个供应商到另一个供应商)的迁移,这是不一样的。

非常感谢

fas*_*aso 3

Azure 中没有特定的服务来管理数据库迁移。

根据经验,通常通过生成迁移 SQL ( dotnet ef migrations script)、检查它然后手动运行它或保存到文件,然后将其作为 CI/CD 管道的一部分执行来进行管理。