我正在.NET Core 2.0 中设置 WebApi。我将使用 Entity Framework Core 作为 ORM。整个应用程序将部署为 Docker 容器。让我有点不安的是在这种情况下处理数据库迁移的方式。我的意思是生产环境。这是我设法研究的内容:
- 我们只是在应用程序中触发 Database.Migrate() 开始忘记整个世界-嗯我不喜欢它;-)
- Database.Migrate() 由命令行参数驱动(使用指定参数运行一次 docker 容器以迁移数据库)
- 登录应用程序容器并执行
dotnet ef database update
- 基于迁移生成普通的旧 SQL 并从数据库管理工具执行它。看起来老派但有效。我讨厌自己乱执行脚本。
- 准备一个数据库容器,该容器已经具有从上面的代码生成的脚本,并且会自动执行它们。
还有其他建议吗?或者什么是最好、最合适的解决方案?
问候