docker 下 migration

1. 使用 dotnet ef migrations bundle

windows下面会生成 efbundle.exe linux下会生成 efbundle 这样就可以把这个一起放到docker包的某个目录下。然后用docker来跑它

docker run -it -e connstr="数据库连接地址" --entrypoint sh --rm t3 -l efbundle

2. 使用代码,

把我们的migration项目变成 console类型的项目 并添加

Program.cs

public class Program
{
    public static void Main()
    {
        var dbContext = new MalemaDbContext();
        dbContext.Database.Migrate();
    }
}

docker 生成镜像的时候把这个程序一起生成,生成的路径跟主程序可以在一起。免得占用更多的存储空间。 或者让主程序也引用这个类库。 添加特定的参数来跑它

直接在程序启动的时候来跑(migration出错不好处理了)

最近更新的
...