我正在尝试将网站从v7.6升级到v7.15.1。
我已经在localhost上进行了升级,其中包括更新数据库。
现在我把我的文件从localhost转移到测试站点,在那里我在日志中得到了一个错误:
ERROR Umbraco.Core.UmbracoApplicationBase - An unhandled exception occurred
System.Data.SqlClient.SqlException (0x80131904): Invalid object name 'umbracoUserLogin'.
我无法登录后台。
它似乎在测试中寻找umbracoUserLogin
,但它还不存在,因为在测试中数据库还没有更新。
在这种情况下,当文件已经在localhost上更新并传输到测试站点时,如何在测试中更新数据库?
我最近做了两次umbraco升级;一个是从7.5.7到7.13.1,最近的是从7.13.1到7.15.1。
在我升级期间;我已经看到了这个问题,解决这个问题可以帮助你解决你的问题(在再次升级后,我没有再次看到这个问题,但这次检查了所有自动更改的文件,并一次接受一个,请参阅下面的详细信息),但回到你的问题;"从umbraco 7.6升级到7.15.1(包括db升级)的最佳方式是什么";以下是您应该遵循的步骤;
- 在开始之前为您的项目和umbraco数据库创建一个备份。如果你正在使用Git,那么事情会非常容易
- 为您的Umbraco项目打开Nuget Package Manager,并使用Nuget Package Manger窗口或控制台进行包升级。为您的案例搜索Umbraccms 7.15.1版本
- 一旦你开始升级,你会看到一些弹出窗口,要求你批准一些自动文件更改(包括一些配置文件更改)。由于您不想丢失一些升级前的设置,请不要全部接受或放弃它们,并按照一般规则逐一检查所有设置;如果您没有对这些文件进行任何自定义更改,那么只需批准更改,否则,请检查您的更改,确保您没有丢失任何内容,并因此放弃其中一些文件更改
- 一旦你完成了Umbraccms的升级(这将自动进行一些依赖包升级),构建你的项目,确保一切看起来都很好,然后转到你当地项目的umbraco后台url,这将触发umbraco升级过程的其余部分,只需按照屏幕完成升级步骤即可-此时,您的umbraco数据库更改将自动完成,您可能会遇到一些旧的损坏缓存文件的问题,如果发生这种情况,只需删除App_Data/TEMP文件和App_Data umbraco.config文件,然后重试。如果您在安装过程中看到一些其他问题,请检查日志(在这种情况下,浏览器开发工具可以方便地了解问题),并一次修复一个。你可能不需要一些旧的web.config设置,它们可能会导致一些问题,只需注释掉这些行,看看这是否会解决一些问题
- 完成本地升级后,将代码部署到测试环境中,然后转到测试环境的umbraco url,按照屏幕完成测试环境的安装。如果您发现任何问题,请查看我关于上述步骤4的笔记
- 为其他测试环境(QA、UAT、培训等)进行umbraco升级,并完成umbraco的升级测试。一旦测试完成,那么你就可以上线了。在实时部署之后,您将不得不最后一次完成umbraco升级,但这次是针对实时系统
- 在升级之前,请始终获取每个环境的备份,这样,如果出现问题(可能在进行大型umbraco升级时发生),您就可以随时回滚更改
- 最后说明;这里有一些不错的文章,请看一看,更好地理解这个过程。祝你好运