Dbup运行完,没有向数据库添加一个名为 SchemaVersion 的表,该表是用于跟踪已执行的脚本。
可是我的项目运行people测试的时候没有生成那张表,只生成了数据库和数据表,网上找资料也没有找到解决方案
问题描述的不清楚。下面回答仅供参考:
在Dbup运行的时候,如果没有生成名为SchemaVersion的表,可能是因为数据库连接字符串配置错误,或者是没有正确安装Dbup依赖的程序包导致的。
首先,确保你的数据库连接字符串是正确的,并且可以连接到数据库。其次,确保你已经安装了Dbup所依赖的程序包,并且这些程序包都是最新版本。
如果你还是无法解决问题,可以尝试使用Dbup的调试功能来查看问题出在哪里。你可以使用以下代码来启用调试功能:
```c#
var upgrader =
DeployChanges.To
.SqlDatabase(connectionString)
.WithScriptsEmbeddedInAssembly(Assembly.GetExecutingAssembly())
.LogToConsole()
.Build();
var result = upgrader.PerformUpgrade();
if (!result.Successful)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine(result.Error);
Console.ResetColor();
#if DEBUG
Console.ReadLine();
#endif
return -1;
}
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("Success!");
console.ResetColor();
return 0;
这样,你就可以在运行Dbup的时候看到调试信息,帮助你找出问题所在。