本文主要向大家介绍了SQLServer数据库之将ABP的数据库从SQLSERVER迁移到MySql,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助。
安装MySql.Data.Entity
然后你需要安装MySql.Data.Entity和MySql.Data到你的.EntityFramework和.Web项目。然后你还需要修改.Web项目的web.config文件。
打开你的DbContext的配置类(Configuration.cs),并在该类的构造函数中使用下面的代码:
SetSqlGenerator("MySql.Data.MySqlClient",newMySql.Data.Entity.MySqlMigrationSqlGenerator());
配置连接字符串
为了能够使用MySQL数据库,你需要修改web.config文件中的连接字符串。如下所示:
重新生成迁移文件
在下载启动模板的时候,如果你选择了包含ModuleZero。这里会有一些迁移文件会包含在你的项目中,但是这些文件是为SqlServer迁移使用的。请打开.EntityFramework项目中的Migrations文件夹,然后删除这些迁移文件。迁移文件是以时间戳开始的。迁移文件的名字像这样:06210746108_AbpZero_Initial。
在删除所有的迁移文件后,选择你的.Web项目为开始项目,打开VS的包管理控制台,并在包管理控制台中选择.EntityFramework项目作为默认项目。然后在控制台中执行下面命令:
Add-Migration"AbpZero_Initial"
现在你可以使用下面命令来创建数据库:
Update-Database一,OK按照上述操作一波,,纳尼,出现了以下问题
然后在网上各种搜,都没有搜到有用的内容。最后google到了一个相关内容
难道是最新版本的问题。果断降版本到6.8.8果然没有再出违反安全规则的问题。
版本6.8.8跟6.9.10都没有问题。
以上是我踩到的第一个坑
二,下面一个是TheproviderdidnotreturnaProviderManifestTokenstring,这又是咋滴。。习惯性又搜一波。发现网上说啥的都有。。那就中断一下看看innerexception吧。在innerexception中的信息
拒绝了访问。难道是密码错了。。。最后发现真的是密码错了(没办法。好就之前装的mysql,用了一次之后就吃土了。。)
最后update-database。
本文由职坐标整理并发布,希望对同学们学习SQL Server有所帮助,更多内容请关注职坐标数据库SQL Server数据库频道!