我是NopCommerce的新手.我在Nop.Core,Nop.Data和Nop.Services中进行了更改.我也在Nop.web的某些控制器,模型和视图中进行了更改.
如果我希望将nopcommerce版本从2.8升级到3.10,那么哪种方式简单易用.
1)我备份我的文件并获得更新.一旦更新完成,我可以只替换那些已更新并与原始代码不同的部分吗?我可以在我的备份文件中添加新方法但不是原始代码吗?
2)或者我可能需要创建新的插件或其他方式.
[例如:我在产品表中进行了更改,并添加了大小,年龄,颜色等新字段.
请告诉我您的宝贵意见.
谢谢
解决方法
地面工作
如果您的任何修改是开箱即用的,请查看3.10.
我的修改计数是250(非常详细到估计).
途径
>将2.80 db升级到3.10 db.
>修改3.10代码以支持2.80的新功能.
>找一个好的数据库差异工具.例如:sql比较.
>将您的生产(2.80)DB恢复到您的开发者电脑并将nop 3.10 db安装到您的开发电脑中.
>按表比较两个DB表.基本上,您将通过比较3.10架构将2.80 db升级到3.10 db.
>通过比较3.10,在2.80中更改/删除/添加新列.
>创建商店信息(商店表).这是3.10中的新功能,大多数其他表都需要StoreID.
>更新客户数据以匹配3.10架构.
>更新产品信息. ProductVariant表现在与Product表合并.所以需要更新产品表.
>更新订单详情. OrderVariant现在是OrderItem.所以移动数据.
>移动其他表格.
我以前创建单个sql脚本,
>从备份文件恢复生产数据库.
>每个表的脚本块,升级每个表并填充数据.
这为您提供了运行和运行的灵活性,并在出现任何错误时再次运行脚本,甚至在脚本编写过程中这有用.
除此之外,如果您将2个或更多商店合并为一个,
>在步骤5中添加所有商店信息.
>现在从这一点为每个商店创建一个单独的脚本.
>您需要为OrderId&找到不同的序列号.客户ID.不能一样.
>添加第二个或更多商店时,请在添加之前检查现有客户.
检查01
现在采用新的3.10代码库并针对迁移的数据库运行.如果您已正确完成迁移,那么一切都应该运行良好
由于没有产品变量表,因此在代码简单方面需要进行重大更改.因此需要重新编写所有自定义逻辑.
主要问题是,开发票.如果您有多个商店,则每个商店没有电子邮件设置.所以必须自定义修改它.
一个好的方法是,
>做所有客户方电子商务拳头.
>然后做管理员方面.
>如果客户和管理员具有相同的功能,请一起做.例如,订单放置工作流程的自定义修改.
>插件不需要进行大的修改.
检查02
在大日子
>备份生产数据库和生产代码库.
>运行升级脚本并替换新的代码库.
>没有第三步,因为你在此之前已经完成了所有艰苦的工作.
>好的,如果你搞砸了,那就回滚吧.
值得注意的事情
我通过测试学到了这些.感谢上帝,我在实际迁移之前找到了它们.
在我们迁移如何在nop商务方面设置完整的多商店解决方案时,没有详细的说明.有关如何在生产服务器中设置nop commerce的指令here.但我没有涵盖所有方面.
我们使用VPS Server来托管我们的平台.如果您使用的是VPS,请注意,如果正确设置多店,则需要使用SNI.只有IIS 8及更高版本支持SNI.这意味着您需要Windows 2012 Server.有关SNI的更多信息,请参见here和here
我们使用Pleask来管理服务器.因此,将主域设置为主域,将所有其他存储设置为别名.在IIS方面,RDP进入VPS并使用IIS8的SNI功能为每个域设置SSL
在SNI的下方,所有旧浏览器都不支持它.见@L_301_4@.
限制
如果您使用的是Pleask,那么电子邮件将无法正常运行.由于将仅为主域创建电子邮箱,并且所有其他别名将共享相同的电子邮件帐户.所以你可以发送别名电子邮件的回复.不幸的是,它脱离了商业发展的范围.
我还没有找到解决方案.在这方面工作.