欢迎光临散文网 会员登陆 & 注册

.net core(ABP)执行数据迁移成功但没有建立表或者 Table ‘XXX’ already 问题

2023-03-07 12:06 作者:紫檀清香  | 我要投稿

这里使用的是ABP里的迁移案例,个人比较喜欢在Visual Studio里面的进行迁移,当然用其他方式也适用,毕竟.net core 里面的数据迁移基本是一致的。

1. 打开nuget 管理控制台

2. 选择迁移程序所在的目录

ABP里面将(xxx.DbMigrator)设为启动项目,将控制台里面将(xxx.EntityFrameworkCore) 设为默认项目

如图

执行 `Add-Migration xx`  构建一个新的迁移脚本,我这里以前迁移所有历史的迁移脚步~

执行 `Update-Database` 更新数据库,如果正常的话,到此整个迁移就完成了。

很不巧 我这里遇到了点问题 ............

-1  “No migrations were applied. The database is already up to date.”执行成功但没有更新数据库

- 2 如果指定迁移文件 发行 “The migration '20230307023321_3' was not found” 找不到文件

- 3 Table ‘XXX’ already exists的错误问题

我们可以在命令后面加上 `-Verbose  #详细信息`【`Update-Database -Verbose`】可以看到更新的信息方便定位错误。

问题1根据描述 说是找不到程序集,我把编译切换成Release就行了,之前使用的是debug编译。

问题2,找不到这个文件也是切换Release编译就能找到 

问题 3 Table ‘XXX’ already exists的错误问题,这个问题我这里其实是因为一直执行的是最初的迁移脚本就算我指定为最新的迁移脚本好像也不行

我直接删除以前的迁移脚步重新执行更新语句就可以了,数据库也能正常的建表与更新!

至于为什么它一直执行都是最初的迁移脚本,实力有限我也没有找到很好的答案~~

那位大佬遇到过,希望能指教一下(抱拳)


.net core(ABP)执行数据迁移成功但没有建立表或者 Table ‘XXX’ already 问题的评论 (共 条)

分享到微博请遵守国家法律