EF命令行工具 migrate.exe 进行Code First更新数据库,6.3+使用ef6.exe
|
EF命令行工具 migrate.exe 进行Code First更新数据库,6.3+使用ef6.exe
使用EF的Code First迁移可以用于从Visual Studio内部更新数据库,但也可通过命令行工具 migrate.exe 进行执行。
如果项目已经更新到服务器,后面的更新数据库分为两种办法,要么把线上数据库备份到本地,然后使用VS迁移,要么使用命令迁移,官方提供了migrate.exe工具,命令如下,但是每次记录一个命令比较麻烦,可以直接写一个bat文件,下次执行就行了
- 新建bin.bat文件,复制下面代码到文件
- 复制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
来源:https://www.cnblogs.com/itljf/archive/2023/05/14/17400476.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
|
|
|
发表于 2023-5-14 22:47:55
举报
回复
分享
|
|
|
|