从 Umbraco 版本 7 到版本 12 的正确升级路径是什么?

fra*_*nkf 3 migration upgrade umbraco umbraco7

据我所知,除了细节之外,我需要去......

7至8 8至8(最新) 8(最新)至10 10至12

我假设没有从 7 到 12 的直接路线。我的项目是一个没有包的简单项目。

它只是内容、模型和模板。

在阅读了 Umbraco 的文档后,我找不到关于将 Umbraco 版本 7 升级到最新版本(在撰写本文时为版本 12)的明确答案。

感谢您的任何指导。

Nur*_*aya 5

由于底层源代码完全不同,因此没有从 v7 到 v12 的直接升级路径,但可以进行内容迁移。

\n

升级项目的方法有多种。

\n

如果您有大量自定义代码,更好的选择可能是创建一个新的 Umbraco v12 网站,创建所有 Umbraco 对象,然后编写一些脚本来进行内容迁移

\n

另一种选择可能是使用一些第三方软件,这样您就可以将所有内容更改推送到该软件中,然后直接从那里获取 v12 网站的内容(在进行一些数据转换之后)。

\n

有一个非常有用的软件包,即Kevin Jump 的uSync.Migrations - 看一下,这可以帮助您进行迁移。

\n

我通常做的是按照我的 12 个步骤将旧的 v7 项目升级到最新版本的 Umbraco v12

\n

第 1 步 - 创建备份!

\n

在每个步骤之前和之后为源代码和数据库创建备份始终是一个好习惯。

\n

第 2 步 - 确保您的 v7 版本最低为 7.14.0

\n

如果没有,请将您的 v7 项目升级到最低版本 7.14.0,最好升级到 v7 的最新版本。

\n

第 3 步 - 清理所有不需要的东西

\n

如果您不需要某些数据,请将其删除。另外,清空 Umbraco 项目的回收站并清理数据库版本历史记录 - 您可以使用 UnVersion 包或运行自己的 SQL 脚本来清理数据库版本历史记录。

\n

第 4 步 - 运行迁移前运行状况检查

\n

为此,请使用“迁移前健康检查”包。

\n

这个包将帮助您识别一些可能阻止数据库迁移到 v8 的问题,因此它很重要。如果存在任何问题,请先修复它们,然后再跳至下一步。此时,我\xe2\x80\x99d也推荐您阅读ProWorks的这篇精彩博文,这样您就不会\xe2\x80\x99d错过有关Umbraco版本的重要细节\xe2\x80\x9cthresholds\xe2\x80\x9d 。另外,请查看新的 uSync Migrations 工具以及其他一些方法,例如 Moriyama\xe2\x80\x99s 方法或 Enterspeed\xe2\x80\x99s 集成应用程序。

\n

我使用 Umbraco 后台的 Packages 部分使用其 zip 文件手动安装该包。

\n

第 5 步 - 启动一个新的 v8.5.5 网站

\n

启动新的 v8.5.5 网站非常重要,因为 v8.6 的一些迁移更改会破坏 v7 到 v8 的迁移。

\n

或者,您可以尝试使用 ProWorks.Umbraco8.Migrations 包转到更高版本的 v8。

\n

无论如何,请确保您可以登录到 Umbraco 后台并且暂时不要创建任何 Umbraco 对象。

\n

第 6 步 - 更新 v8 web.config 文件的连接字符串和 Umbraco 版本号

\n

将 v8 网站的连接字符串替换为 v7 连接字符串。另外,将 Umbraco 版本从 8.5.5 更新到您的 v7 网站的版本号。您可以在“Umbraco.Core.ConfigurationStatus”中找到 Umbraco 版本号。

\n

当您运行 v8 项目时,这些更改将触发内容迁移。

\n

步骤 7 - 构建并运行 v8 项目并完成数据库升级以及内容迁移

\n

现在是时候构建并运行您的项目了。我建议运行您的项目而不进行调试。

\n

运行项目后,您应该会看到 Umbraco 安装程序屏幕,它应该升级您的数据库和文件。这也应该进行内容迁移。

\n

根据项目的复杂性,您可能会遇到一些问题。Umbraco 论坛和 StackOverflow 上有很多答案,希望其中一些答案能对您有所帮助。

\n

如果一切顺利,那么您应该能够登录新的 v8 网站的 Umbraco 后台并查看您的内容。

\n

如果您最终发现越来越多的问题,您可能需要考虑采用不同的升级方法。

\n

步骤 8 - 将 v8.5.5 项目升级到最新版本的 v8。

\n

如果您已经达到这一点,那么您应该为自己泡一杯好咖啡(或更浓的咖啡)并享受它,因为您刚刚完成了升级中最棘手的部分。

\n

将您的 v8 项目升级到最新版本的 v8,并准备好将您的项目迁移到 .NET 6 和 v10!

\n

第 9 步 - 启动新的 .NET 6 v10.0.1 网站

\n

启动一个新的 v10.0.1 网站并完成数据库安装,而无需创建任何 Umbraco 对象。

\n

确保您可以登录 Umbraco 后台并且一切正常。您可以尝试使用最新版本的 v10,但我想尽可能接近 v9,因此选择了这个版本。

\n

步骤 10 - 更新您的 appsettings.json 文件并开始为您的 v10 项目使用 v8 连接字符串

\n

无法直接将 v8 网站升级到 v10。这是由于 v8 在 .NET Framework 上运行,而 v10 在 .NET 6 上运行,但您可以再次迁移内容。

\n

更新 v10 项目的连接字符串以使用 v8 项目的连接字符串后,运行 v10 项目 - 这将再次触发数据库升级和内容迁移。

\n

由于 v8 数据库架构与 v10 数据库架构非常相似,因此此时应该可以轻松升级和迁移。

\n

完成所有操作后,登录 v10 网站的 Umbraco 后台并检查您的内容。

\n

步骤 11 - 将 v10.0.1 项目升级到最新版本的 v10,然后升级到 v11 和 v12。

\n

是时候使用包管理器控制台将您的 v10 项目升级到最新版本的 v10 了。v10 升级完成后,将您的项目升级到 .NET 7 和最新版本的 v11/v12。确保最新升级后一切仍然良好。

\n

第 12 步 - 创建您的自定义代码

\n

这是升级的最后一步。您现在可以为全新的 v11/v12 网站创建自定义更改,并创建新的 Umbraco 对象或更新它们或执行其他您需要执行的操作,例如创建模板等。

\n