EF命令行工具 migrate.exe 进行Code First更新数据库,6.3+使用ef6.exe

使用EF的Code First迁移可以用于从Visual Studio内部更新数据库,但也可通过命令行工具 migrate.exe 进行执行。

如果项目已经更新到服务器,后面的更新数据库分为两种办法,要么把线上数据库备份到本地,然后使用VS迁移,要么使用命令迁移,官方提供了migrate.exe工具,命令如下,但是每次记录一个命令比较麻烦,可以直接写一个bat文件,下次执行就行了

  1. 新建bin.bat文件,复制下面代码到文件
  2. 复制bin.bat和migrate.exe到bin目录下,其中“Test.EntityFramework”为EF层的类库名,根据各自的项目修改为自己项目对应名,双击执行就行了。

使用migrate.exe(这个一般用EF的项目里面都有的,直接使用类似Everything的搜索工具搜索本地就好了,不提供文件了)

官方文档

@echo off
migrate.exe Test.EntityFramework /startupConfigurationFile="..\\Web.config"
pause

EF升级到6.3+的处理方案

EF升级到6.3+的时候官方升级了迁移工具,原来的migrate.exe不能使用,坑了好多人(具体可以看github中各种),改为使用ef6.exe,但是也没有准确的使用文档,只能不断的尝试和网络上找关联的信息,最后测试可以使用的如下(真的是搜索全网都没有,ChatGPT4.0都没用)

ef6.exe文件本地也有,提供下载了

使用方法和migrate.exe类似,命令修改为(“Test.EntityFramework”为EF层的类库名,根据各自的项目修改为自己项目对应名)

@echo off
ef6.exe database update --assembly "Test.EntityFramework.dll" --config "..\\Web.config"
pause

复制bin.bat和ef6.exe文件到bin文件夹下,双击执行bin.bat文件就行了

关联信息

1. 微软文档“使用 migrate.exe”,可以看更多命令信息

github中关于该功能修改的讨论

Document ef6.exe and remove doc for migrate.exe #1740

issues moving from migrate.exe to ef6.exe #1605

EF命令行工具 migrate.exe 进行Code First更新数据库,6.3+使用ef6.exe的更多相关文章

  1. Django 之 流程和命令行工具

    一.一个简单的web框架 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演. 对于所 ...

  2. 命令行工具aspnet_regiis.exe实现加密和解密web.config

    命令行工具aspnet_regiis.exe,是一个类似于DOS的命令工具,称之为命令解释器.使用命令行工具加密和解密web.config文件中的数据库连接字符串时,只需要简单的语法命令即可. 加密语 ...

  3. 命令行工具osql.exe使用

    目标: 快速在21个库修改Test表的某条记录,这几个库都分别在不同的服务器上. 通常会想到,到每个库都执行一下语句不就好了吗?这个数据库切换来切换去,挺麻烦了,通过命令行工具osql.exe就可以快 ...

  4. x264源代码简单分析:x264命令行工具(x264.exe)

    ===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...

  5. x264命令行工具(x264.exe)源码整体分析

    该命令行工具调用的是libx264,就是一个使用该库的示例程序 X264命令行工具的源代码在x264中的位置如下图所示(红框里面的). X264命令行工具的源代码的调用关系如下图所示. Additio ...

  6. windows下的命令行工具babun

    什么是babun babun是windows上的一个第三方shell,在这个shell上面你可以使用几乎所有linux,unix上面的命令,他几乎可以取代windows的shell.用官方的题目说就是 ...

  7. 如何用Node编写命令行工具

    0. 命令行工具 当全局安装模块之后,我们可以在控制台下执行指定的命令来运行操作,如果npm一样.我把这样的模块称之为命令行工具模块(如理解有偏颇,欢迎指正) 1.用Node编写命令行工具 在Node ...

  8. Orchard中的命令行工具

    在Orchard中提供了一个命令行工具,我们可以使用这个命令行工具创建用户.创建博客.生成代码.配置网站.打包模块等.并且这个命令行工具是可以扩充的,只要我们在自己开发的模块中创建一个Command类 ...

  9. Linux 性能监控之命令行工具

    引言 对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.这些命令行工具可以在各种Linux系统下使用,可以用于监控和查找产生性能问题的原因.这个命令行工具列表提供了足够的 ...

  10. django下命令行工具

    django-admin.py是Django的一个用户管理任务的命令行工具,manage.py是对django-admin.py的简单包装,每个Django Project里面都包含一个manage. ...

随机推荐

  1. Kubesphere中DevOps流水线无法部署/部署失败

    摘要 总算能让devops运行以后,流水线却卡在了deploy这一步.碰到了两个比较大的问题,一个是无法使用k8sp自带的kubeconfig认证去部署:一个是部署好了以后但是没有办法解析镜像名. 版 ...

  2. linux下live555编译和调试

    linux下live555编译和调试 live555 支持 h.264 初步告捷,可以播放,尽管不是很稳定,或者说暂时只能播放 1 帧(主要是我现在还不了解 帧的概念),同时还有 Mal SDP 的传 ...

  3. Linux/UNIX Shell $PATH变量

    Linux/UNIX的shell在执行命令时,会查找路径$PATH来录找命令. 1:$PATH是一个以冒号分隔的目录列表,执行命令时,会在列表中查找. 2:命令可以是SHELL脚本也可以是可执行文件, ...

  4. C#自行实现安装卸载程序(不使用官方组件)

    正规软件建议还是使用官方的标准安装程序组件,因为官方的标准安装/卸载组件能更好的与操作系统衔接,安装和卸载流程更加规范. 今天提供一种野路子,全用代码实现安装卸载器. 需要写一个程序,包含安装器.卸载 ...

  5. 2022-09-11:arr是一个可能包含重复元素的整数数组,我们将这个数组分割成几个“块”, 并将这些块分别进行排序。之后再连接起来,使得连接的结果和按升序排序后的原数组相同。 我们最多能将数组分成

    2022-09-11:arr是一个可能包含重复元素的整数数组,我们将这个数组分割成几个"块", 并将这些块分别进行排序.之后再连接起来,使得连接的结果和按升序排序后的原数组相同. ...

  6. 2022-04-16:在一个10^6 * 10^6的网格中, source = [sx, sy]是出发位置,target = [tx, ty]是目标位置, 数组blocked是封锁的方格列表,被禁止的

    2022-04-16:在一个10^6 * 10^6的网格中, source = [sx, sy]是出发位置,target = [tx, ty]是目标位置, 数组blocked是封锁的方格列表,被禁止的 ...

  7. Ubuntu下串口工具 PicoCOM 的使用和时间戳显示

    PICOCOM Ubuntu下的串口软件, 除了 CuteCOM, screen, MiniCOM 以外, 还有一个和 MiniCOM 很像的 PicoCOM. 最近在调试 CH340C 串口的过程中 ...

  8. annotate()使用聚合计数、求和、平均数 raw()执行原生的SQL

    annotate()使用聚合计数.求和.平均数  raw()执行原生的SQL # 按老师分组,求课程的销量 Course.objects.values('Teacher').annotate(vol= ...

  9. 在开发过程中使用git rebase还是git merge,优缺点分别是什么?

    前言 在开发过程中,git rebase 和 git merge 都是常见的代码版本管理工具.它们都能够将分支合并到主分支,并且都有各自的优缺点. git merge git merge 是一种将两个 ...

  10. Python批量下载鼠标样式,自动化一条龙处理详解

    目录 前情提要 爬虫环境 抓包分析请求 编写代码: 展示效果 结束语 前情提要 最近发现一款特别好看的壁纸软件,其中提供了鼠标样式,感觉很好看!很精致!心想肯定是请求下载然后启用鼠标样式, 那么发送请 ...