You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在包管理器中执行FluentMigrator迁移及数据库更新问题

解决FluentMigrator生成SQLite数据库后的表验证与迁移疑问

看起来你已经走完了FluentMigrator的大部分配置流程,但对生成的teste.db文件的作用有点困惑,我来帮你拆解清楚:

先明确:teste.db已经是迁移完成的SQLite数据库

当你执行这条迁移命令时:

dotnet fm migrate -p sqlite -c "Data Source=test.db" -a ".\bin\Debug\netcoreapp2.1\test.dll"

命令已经直接在指定的SQLite数据库文件里执行了你的迁移代码——也就是说,teste.db(应该是你命令里test.db的笔误)里面已经存在angularCore schema下的Pessoa表了,不需要额外的“更新数据库”操作。

怎么验证表是否创建成功?

你可以用任意SQLite可视化工具(比如DB Browser for SQLite、SQLite Studio)打开teste.db文件:

  • 打开工具后加载这个.db文件
  • 切换到“数据库结构”标签,就能找到angularCore.Pessoa表,查看它的字段是否和你迁移代码里定义的一致

如果需要把迁移应用到其他数据库

1. 迁移到另一个SQLite数据库

只需要修改连接字符串里的Data Source为目标.db文件的路径,重新执行migrate命令就行:

dotnet fm migrate -p sqlite -c "Data Source=你的目标数据库.db" -a ".\bin\Debug\netcoreapp2.1\test.dll"

2. 迁移到非SQLite数据库(比如SQL Server、MySQL)

这时候你需要调整两个核心参数,并且不需要用到之前的teste.db文件:

  • 把-p参数改成对应数据库的provider名称(比如sqlserver、mysql)
  • 替换连接字符串为目标数据库的合法连接串
    举个SQL Server的例子:
dotnet fm migrate -p sqlserver -c "Server=你的服务器地址;Database=目标数据库名;Trusted_Connection=True;" -a ".\bin\Debug\netcoreapp2.1\test.dll"

执行这条命令后,FluentMigrator会直接连接到目标数据库,执行迁移代码创建Pessoa表。

顺便说下之前的dotnet-tool错误

你一开始碰到的No executable found corresponding to the "dotnet-tool" command错误,主要是因为.NET Core 2.1早期版本不支持dotnet tool命令,后续你能成功执行应该是环境已经满足了SDK版本要求(比如升级到了2.1.300及以上版本)。

内容的提问来源于stack exchange,提问作者cura

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:34:30