将ABP的数据库从SQLSERVER迁移到MySql

摘要:之前跟着网上的一些教程,学习了一点ABP的知识。最近想说把默认的SQLSERVER数据迁移到mysql吧

首先网上搜一波

安装MySql.Data.Entity

然后你需要安装 MySql.Data.Entity和 MySql.Data 到你的 .EntityFramework 和 .Web 项目。然后你还需要修改 .Web 项目的web.config文件。

打开你的DbContext的配置类(Configuration.cs),并在该类的构造函数中使用下面的代码:

SetSqlGenerator("MySql.Data.MySqlClient", new MySql.Data.Entity.MySqlMigrationSqlGenerator());
配置连接字符串

为了能够使用MySQL数据库,你需要修改web.config文件中的连接字符串。如下所示:

<add name="Default" connectionString="server=localhost;port=3306;database=sampledb;uid=root;password=***" providerName="MySql.Data.MySqlClient"/>
重新生成迁移文件

在下载启动模板的时候,如果你选择了包含 Module Zero。这里会有一些迁移文件会包含在你的项目中,但是这些文件是为Sql Server迁移使用的。请打开 .EntityFramework 项目中的Migrations文件夹,然后删除这些迁移文件。迁移文件是以时间戳开始的。迁移文件的名字像这样:201506210746108_AbpZero_Initial

在删除所有的迁移文件后,选择你的 .Web 项目为开始项目,打开VS的包管理控制台,并在包管理控制台中选择 .EntityFramework 项目作为默认项目。然后在控制台中执行下面命令:

Add-Migration "AbpZero_Initial"

现在你可以使用下面命令来创建数据库:

Update-Database

一,OK 按照上述操作一波,,纳尼,出现了以下问题

然后在网上各种搜,都没有搜到有用的内容。最后google到了一个相关内容

难道是最新版本的问题。果断降版本到6.8.8 果然没有再出违反安全规则的问题。

版本6.8.8跟6.9.10都没有问题。

以上是我踩到的第一个坑

二,下面一个是The provider did not return a ProviderManifestToken string,这又是咋滴。。习惯性又搜一波。发现网上说啥的都有。。那就中断一下看看innerexception吧。在innerexception中的信息

拒绝了访问。难道是密码错了。。。最后发现真的是密码错了(没办法。好就之前装的mysql,用了一次之后就吃土了。。)

 

 

最后update-database。

 

 以上。。。欢迎批评指正

转载于:https://www.cnblogs.com/tianjiaxiaobaicai/p/8342796.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值