Umbraco 7.15.8升级至8版本数据库报错:检测版本为0.0.0求助
解决Umbraco 7.15.8升级到8版本的数据库检测错误问题
问题重现
- 搭建纯净Umbraco 8环境并指向Umbraco 7数据库,升级时提示:
Detected current version 0.0.0 (unknown), which needs to be upgraded to 8.
- 执行升级后报错:
The database failed to upgrade. ERROR: The database configuration failed with the following message: Could not get current version from web.config Umbraco.Core.ConfigurationStatus appSetting.
核心原因
Umbraco 8读取版本配置的键名与Umbraco 7不同:
- Umbraco 7使用
umbracoConfigurationStatus - Umbraco 8要求的是
Umbraco.Core.ConfigurationStatus
你之前设置的是旧版本的键名,导致升级程序无法读取到正确的当前版本。
解决步骤
修正web.config配置项
将web.config中的配置项替换为Umbraco 8要求的键名:<add key="Umbraco.Core.ConfigurationStatus" value="7.15.8" />保留旧的
umbracoConfigurationStatus配置项也可,但必须确保上述正确键名的配置存在。同步数据库中的版本记录
升级程序会同时校验数据库中的版本记录,需确保umbracoKeyValue表中的版本值与web.config一致:- 执行SQL语句检查并更新:
-- 检查当前记录 SELECT [key], [value] FROM umbracoKeyValue WHERE [key] = 'umbracoConfigurationStatus'; -- 更新或插入正确版本值 IF NOT EXISTS (SELECT * FROM umbracoKeyValue WHERE [key] = 'umbracoConfigurationStatus') INSERT INTO umbracoKeyValue ([key], [value]) VALUES ('umbracoConfigurationStatus', '7.15.8') ELSE UPDATE umbracoKeyValue SET [value] = '7.15.8' WHERE [key] = 'umbracoConfigurationStatus'
- 执行SQL语句检查并更新:
清理缓存
删除网站根目录下App_Data/TEMP文件夹内的所有文件,避免缓存的旧配置干扰升级流程。重新运行升级
重启应用池后再次访问Umbraco后台,触发升级流程。
内容的提问来源于stack exchange,提问作者TheAlbear
相关产品推荐
相关产品推荐

