我正在.NET Core 2.0中设置WebApi,将使用Entity Framework Core作为ORM。整个应用程序将部署为Docker容器。让我有点不安的是在这种情况下处理DB迁移的方式。我是指生产环境。以下是我所研究到的:
- 我们只需要在应用程序启动时调用Database.Migrate()忘掉整个世界- 嗯,某种程度上我不喜欢它;-)
- 由命令行参数驱动Database.Migrate()(运行带有指定参数的docker容器一次以迁移DB)
- 登录应用程序容器并执行
dotnet ef database update
- 基于迁移生成纯老式SQL,并从DB管理工具执行它。看起来老派但有效。我讨厌的是自己执行脚本。
- 准备一个数据库容器,该容器已经从上述代码生成了脚本,并将自动执行它们。
还有其他建议吗?或者什么是最好的、最适当的解决方案?
敬礼