Upgrades and database

You can choose to ignore database downgrade exceptions. The main benefit of this feature is when you upgrade a website that is hosted in load balanced environment. It allows you to upgrade one of the instances and its database model, while the other instance can continue to run without throwing an exception. 

When you upgrade a Sitefinity CMS project, it automatically upgrades the database that it is connected to.
You can see all changes that the upgrade performed on the database in the UpgradeTrace.log, located in the ~\App_Data\Sitefinity\Logs folder of you project. For more information, see Log changes to the database during upgrades.
This information is also displayed during the site upgrade on the detailed application status page. For more information, see Types of application status pages.

When you connect an older Sitefinity CMS project to a newer database, an exception that downgrade is not allowed is thrown. You can control this behavior using the IgnoreDowngradeExceptions configuration property of the connection string, which is located in file ~\App_Data\Sitefinity\Configurations\DataConfig.config. Exceptions are thrown when the value of the property is false. This is the default value, because downgrades are not supported. 

If IgnoreDowngradeExceptions is set to true, those exceptions are not thrown and the application will attempt to run. If there are no breaking database model changes, between the older and newer version, on the requested page, then the application will run successfully. For example, if there is a News widget on the page and there are no breaking changes in the news database model, the page will run successfully. If there are breaking model changes, the page will fail to run.

IMPORTANT: You must use this property only when you upgrade the nodes of a load-balanced configuration. You set IgnoreDowngradeExceptions to true only on the servers that are not yet upgraded, so that no error is thrown while you are upgrading. Before you start to upgrade a node, you must set the setting to false. After the upgrade of all nodes finishes, the setting must be set to false on all of them.

Want to learn more?

Sign up for our free beginner training. Boost your credentials through advanced courses and certification.
Register for Sitefinity training and certification.

Was this article helpful?