Per Bjurström
Jun 1, 2015
  6952
(9 votes)

Automatic database updates, Visual Studio 2015 and MVC 5

Automatic database updates

When we first starting shipping database updates in our NuGet-packages we said that we would like to get back to this area:

"We have discussed building automatic database schema updates into the products but based on the feedback we got early on it was more important to get the simple and controlled semi-automatic approach right first. Maybe based on your feedback and ideas we will get back to this area and offer more automation, let us know what you think."

The feedback has been very clear that there should be a built-in/official scenario for supporting automatic updates, especially when publishing to Azure the semi-automatic approach is too cumbersome. And for developers to keep track of database updates and importing them into custom database projects seems like an unnecessary step (unless you have other migration steps or an existing process for database updates that you want to integrate into).

We discussed many approaches to this but finally decided that the built-in support should be flipping a switch and it should just work. When EPiServer starts, if it detects an older database version and you enabled this feature, it will automatically update the database to the correct version. The scripts from 7.5 and up are embedded into the assembly. Based on early feedback from some of our fellow EMVP we have also added extension points to make it possible to for example backup the database, or provide custom validation logic, refer to Automatic schema updates for more details. Also see Henrik Fransas blog about customizing updates in Azure.

This feature will be a complement to the existing Update-EPiDatabase/Export-EPiUpdates cmdlets, these options are not going away. Automatic database updates are disabled by default, we want it to be a conscious decision to enable this feature.

We are also adding a new cmdlet Initialize-EPiDatabase that installs the current database schema into an empty database making it easier to switch to a new database in development.

The new database features will be supported by Commerce as well, automatic updates as of today and Initialize-EPiDatabase in another week or so.

Visual Studio 2015 support and MVC 5

We are also releasing an update of the Visual Studio extension. New EPiServer projects in this version will be based on MVC 5, which as been a popular request. An SDK article on how to upgrade an existing project to MVC 5 is also available, to keep the impact of this update to a minimum we have decided to continue to support MVC 4 in our NuGet-packages but we urge everyone to upgrade. We have also added support for the release candidate of Visual Studio 2015.

The update will be published today and should be visible as an update under ”Tools->Extensions and Updates” inside Visual Studio or on the gallery page. The NuGet-packages are available on nuget.episerver.com as usual.

Jun 01, 2015

Comments

Henrik Fransas
Henrik Fransas Jun 1, 2015 08:41 AM

Thanks for the link and great new about Visual Studio 2015 and MVC5!

Great work!

valdis
valdis Jun 1, 2015 10:03 AM

Great news!

Erik Nordin Wahlberg
Erik Nordin Wahlberg Jun 1, 2015 11:20 AM

Thumbs up!

K Khan
K Khan Jun 1, 2015 12:14 PM

Sounds Great!

Jun 2, 2015 08:10 AM

Initialize-EPiDatabase is a really nice addition. It's always cumbersome to set up new databases.

Jun 3, 2015 01:27 PM

Great news!

Jun 8, 2015 09:10 PM

Initialize-EPiDatabase is a real nice new feature!

Please login to comment.
Latest blogs
How to fix scheduled job 'Remove Abandoned BLOBs' if it keeps failing

Optimizely inlcudes a job named 'Remove Abandoned BLOBs'. This post will help you fix it if it's no longer working.

Henning Sjørbotten | Sep 26, 2023 | Syndicated blog

Optimizely Web Experimentation Metrics

Within the domain of Optimizely Web Experimentation Metrics, the emphasis is on objective key performance indicators (KPIs) selected to assess an...

Matthew Dunn | Sep 23, 2023 | Syndicated blog

Optimizely For you Intranet

Having been at Optimizely and in the CMS industry for nearly 16 years I have seen clients’ intranet requirements go from a simple site just to hous...

Robert Folan | Sep 22, 2023

Vulnerability in EPiServer.GoogleAnalytics v3 and v4

Introduction A potential security vulnerability was detected for Optimizely Google Analytics addon (including EPiServer.GoogleAnalytics and...

Bien Nguyen | Sep 20, 2023

Overriding Optimizely’s Content Recommendations Block to Implement Custom Recommendations

Introduction The Content Recommendations add-on for Optimizely CMS dynamically recommends content from your site tailored to the interests of each...

abritt | Sep 13, 2023 | Syndicated blog

Developer contest! Install the AI Assistant and Win Bose QC45 Headphones!

We are thrilled to announce a developer contest where you have the chance to win a pair of Bose Headphones. The goal is to be the first developer t...

Luc Gosso (MVP) | Sep 7, 2023 | Syndicated blog