【发布时间】:2019-04-11 12:23:58
【问题描述】:
在 Mac 上,我有一个带有一些实体框架迁移的 Net Core 2.1 类库。
我需要使用 Docker 运行 SQL Server 并使用预览迁移更新数据库。
我在我的项目中添加了一个 docker-compose.yml 文件:
docker-compose.yml
src
data
project.data.csproj
docker-compose.yml 文件如下:
services:
data:
build: .
depends_on:
- database
database:
image: "microsoft/mssql-server-linux"
environment:
SA_PASSWORD: "Pass.word123"
ACCEPT_EULA: "Y"
目前这不起作用。
如何在 Mac 中使用 docker 在 SQL Server 上运行 EF Core 迁移?
【问题讨论】:
-
在我看来有两种方法,让 Docker 在容器构建期间执行
dotnet ef database update或在运行时您可以使用Database.Migrate(),这适合您的情况吗? -
我使用 dotnet ef 数据库更新
-
您的要求正在讨论中in this issue on GitHub
-
这是一个很好的问题,但我认为目前还没有可靠的解决方案。
-
正如@AdamVincent 建议的那样,运行时迁移对我来说似乎是自然的解决方案。如果您出于某种原因想要手动运行迁移,请在 program/appsettings 中添加一些参数来控制行为
标签: docker asp.net-core entity-framework-core