-
Notifications
You must be signed in to change notification settings - Fork 870
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
提示Table 'test.FrameworkUsers' doesn't exist #23
Comments
框架是可以自动生成数据库的,请再检查一下Appsettings文件,看看连接字符串和DBType是否正确设置了 |
配置文件看起来没有问题,你试一下命令行调试,如果没有生成数据库命令行窗口肯定会输出错误,你看看是什么错误 |
通过在命令行执行add-migration initial -verbose 得到的报错信息如下
|
EF core提供的add-migration,其原理是找到你代码中的dbcontext,然后找到他使用的连接字符串,从而找到最终需要操作的数据库。但是wtm框架同时支持sqlserver,mysql,pgsql等多种数据库,具体使用哪个是配置文件配置的, 所以ef core不知道到底要操作哪个数据。 解决办法你可以参考 https://docs.microsoft.com/zh-cn/ef/core/miscellaneous/cli/dbcontext-creation,就是新加一个类,直接告诉ef使用哪个数据库 using Microsoft.EntityFrameworkCore; namespace MyProject
} |
按照上面的方法,可以生成数据库表了,但表里没有初始数据,所以在登陆的时候就会报“登陆失败”。我查看源码,在FrameworkContext里有个DataInit用来产生初始数据的,估计是没有执行到这个方法。请问要如何才能产生初始数据呢?如果手工在数据库产生的初始数据的话,还蛮繁琐的。 |
初始化数据是在第一次建库的时候运行的,正常逻辑是你第一次直接运行项目,他会帮你建库并且填充初始化数据,后续你对模型的更改再使用add-migration。 但是你说他不会自动给你建库很奇怪。。。 |
你把库删掉,直接在命令行运行项目,你看到底了什么错没有自动建库 |
可以跑起来了,我大概知道原因了。应该是我的服务器上原本就存在了test这个库,所以导致了框架不能自动建库和填充初始化数据。而把整个test库删掉后,再重新运行,就正常了。这个注意点可以写到框架的FAQ里了,让后来者少踩个坑,感谢作者耐心的指点!! |
感谢使用WTM,希望能给你的开发带来帮助 |
按照链接http://wtmdoc.walkingtec.cn/setup 生成项目后,在vs中运行报如题错误,猜测应该是没有生成相关的表导致的。数据库用的是mysql,版本号5.7.1,链接字符串已按文档要求设置成Server=120.25.210.45;Database=test;port=3306;uid=root;password=xxxx 格式,该链接字符串通过mysql管理工具,是可以链接到mysql的。是不是不能自动生成数据库?如果不能自动生成,项目中应提供建库脚本,以方便项目的建立,谢谢
The text was updated successfully, but these errors were encountered: