SimplCommerce(asp.net core),把MSSql换成MySQL

SimplCommerce,一个不错的商城源码,拿来玩一玩,使用mysql

 

开始之前先核对一下版本把,我是2018.10.20号下载的版本,一直在研究hyper-h这个虚拟机

.net sdk 2.1.304,我现在在github上已经要2.1.402了,我电脑是这个版本的sdk

ide建议使用2017,更新到最新版本,因为低版本对sdk的支持有点坑爹,加载不到最新版的sdk就要报错(mac上给我的感觉)我的ide是vs2017 (v15.8.8)

这些东西在github介绍上也有提到,也提到了运行步骤,如果是mssql就按他的步骤我是一步完成了的;可以先尝试mssql跑起来先

 

========================================

接下来就处理更换数据库的工作

提供好mysql的服务,最好是你本机能够连上,避免发生错误后的排错工作

1.也是更新连接字符串,我的连接字符串如下

server=192.168.31.117;database=SimplCommerce;uid=root;pwd=123;charset=utf8;SslMode=None

注意你数据库的字符集

2.安装mysql的包,有的时候安装不上去,也是因为vs版本太低,没有识别到最新的sdk导致提示依赖的版本对不上的问题

Install-Package Pomelo.EntityFrameworkCore.MySql

3.修改mssql支持改为mysql,这里需要修改两个地方,可以用全局搜索,搜索连接字符串使用的地方

Ctrl+Shift+F,搜索“DefaultConnection”,结果可能会出现几个,但是有两个是比较眼熟的

找到 Program.cs 文件

//方法:SetupConfiguration(WebHostBuilderContext hostingContext, IConfigurationBuilder configBuilder)

//找到如下
//configBuilder.AddEntityFrameworkConfig(options =>
//options.UseSqlServer(configuration.GetConnectionString("DefaultConnection"))
//);



//=======改为
configBuilder.AddEntityFrameworkConfig(options =>
    options.UseMySql(configuration.GetConnectionString("DefaultConnection"),mysqlOptions =>{
        mysqlOptions.ServerVersion(new System.Version(5, 7, 24), ServerType.MySql);
    })
);

找到 ServiceCollectionExtensions.cs 文件

//方法 AddCustomizedDataStore(this IServiceCollection services, IConfiguration configuration)

//这个直接改把,按上面的格式太麻烦了

 //Func<DbContextOptionsBuilder, DbContextOptionsBuilder> getDbContextOptionsBuilder2 = (options) =>
//{
//    return options.UseSqlServer(configuration.GetConnectionString("DefaultConnection"),
//        b => b.MigrationsAssembly("SimplCommerce.WebHost"));
//};

Func<DbContextOptionsBuilder, DbContextOptionsBuilder> getDbContextOptionsBuilder = (options) =>{
    return options.UseMySql(configuration.GetConnectionString("DefaultConnection"), mysqlOptions =>{
        mysqlOptions.ServerVersion(new Version(5, 7, 24), ServerType.MySql);
        mysqlOptions.MigrationsAssembly("SimplCommerce.WebHost");
    });
};

services.AddDbContextPool<SimplDbContext>(options =>getDbContextOptionsBuilder(options));
return services;

 

好了,结束了,按F5,我的已经跑起来了,这是我第二天回想昨天的步骤写的,如有疑问可以邮箱我或者给我留言

986928835@qq.com

 

 

 

=====================================  这是一条分割线

这套代码运行起来之后,会先提示你删除样本数据,重新创建一套你需要的数据,当前版本有手机版本,和时尚版本

当点击安装的时候,会跳往网址”http://localhost:49209/SampleData/SampleData/ResetToSample“处理相关的事情,这个时候报了一个如下图所示的错误

大概的意思就是这个日期格式不被mysql识别,网上查了一下和mysql的配置有关(sql_mode),如果遇到这个问题可以找一下,我现在还是使用5.7默认的严格模式,而换成去修改他的sql语句。

当我们去定位控制器调试的时候,发现他是在找一份sql文件的语句在执行,所以去修改他sql语句也是OK的

路径:\src\SimplCommerce.WebHost\Modules\SimplCommerce.Module.SampleData\SampleContent\Fashion

希望你们也能顺利的看到如下图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值