从Umbraco V7升级到V8:手动迁移过时数据类型的数据库操作咨询
Umbraco V7升级V8:手动迁移过时数据类型的数据库操作指南
核心替换逻辑
你说的核心思路是对的——需要将旧版编辑器别名替换为V8对应的新别名,对应关系如下:
Umbraco.MultipleMediaPicker→Umbraco.MediaPicker2Umbraco.MediaPicker→Umbraco.MediaPicker2Umbraco.ContentPickerAlias→Umbraco.ContentPicker2- 旧版
Umbraco.MultipleContentPicker对应Umbraco.ContentPicker2(需在预配置中开启多选)
需修改的数据库表及具体操作
1. umbracoDataType表
这是数据类型的核心配置表,操作步骤:
- 筛选
propertyEditorAlias字段值为旧别名的记录 - 将该字段直接更新为对应的新别名(例如把
Umbraco.MultipleMediaPicker替换为Umbraco.MediaPicker2)
2. umbracoDataTypePreValues表
该表存储数据类型的预配置参数,需同步调整:
- 找到关联旧数据类型的记录(通过
dataTypeId关联) - 修改
value字段中的JSON配置,适配V8编辑器的参数格式:- 旧版多选参数
"multiple":true需改为V8的"enableMultiple":true - 补充V8编辑器必需的参数(比如媒体选择器的
"startNodeId":-1)
- 旧版多选参数
3. umbracoPropertyType表
一般无需单独修改,但需验证:
- 检查
propertyEditorAlias字段是否与umbracoDataType表中更新后的别名一致,若不一致则手动同步
关键注意事项
- 操作前必须备份数据库,防止数据丢失
- 修改完成后,删除
App_Data/TEMP目录下的所有文件,清空Umbraco缓存 - 后台修改数据类型后,数据库的变更要与后台配置完全匹配,否则会出现编辑器加载异常
- 这些V8的新编辑器别名在后续升级到V9、V10时仍可兼容,无需再次修改
内容的提问来源于stack exchange,提问作者Menahem Gil
相关产品推荐
相关产品推荐

