How do you do Episerver upgrades?

  • Page Owner: Not Set
  • Last Reviewed: 2021-07-12

How do we manage Episerver updates/upgrades? What's the process for upgrading Episerver to the latest version/latest release?


Answer

The upgrade process is more or less as follows:

  1. Check the parent ticket of the upgrade ticket. All upgrade tickets should be children of a parent ticket that lists all of the scheduled upgrades for a project. If any other upgrade ticket is listed under the parent ticket in a status that is being worked, reviewed, etc, do not do the upgrade. Only one upgrade should be "in-flight" at a time.

  2. It's a good idea to make a backup for your database prior to the upgrade, because upgrades are one way. You cannot downgrade a database. You can only restore a backup from prior to the upgrade.

  3. If no other upgrades are being worked on or reviewed, create your branch and update all the Episerver packages (basically anything starting with Episerver.). We typically don't update the other packages unless there is a reason to do so.

(Note: You can automate this via Powershell, though the script is many times slower than doing the update through the UI).

(Note: If done through the UI, make sure you manage packages for the Solution, so that all projects in the Solution are on the same versions of DLLs.)

  1. Follow normal procedure from here. Test locally, push the branch, merge to QA, etc.

Note: If you want/need to know if the upgrade is going to effect the database, you can query these two stored procedures to see what "version" the database is at:

DECLARE	@dbversion int
EXEC	@dbversion = [dbo].[sp_DatabaseVersion]
SELECT	'DBVer' = @dbversion

DECLARE	@fxdbversion int
EXEC	@fxdbversion = [dbo].[sp_FxDatabaseVersion]
SELECT	'FXVer' = @fxdbversion

sp_DatabaseVersion returns the version of the Episerver database. I believe sp_FxDatabaseVersion returns a version for DDS. In either case, if either of these numbers change from pre-upgrade to post-upgrade, then the DB version has changed and you should treat any deployments as such.

In the packages folder, under EPiServer.CMS.Core.XX.XX.XX folders, there is also a tools tools\epiupdates\sql path that contains upgrade scripts. You can check the old version's list of scripts against the new version. If there are new scripts in that folder, then there will be a DB upgrade.