Index: src/wp-admin/includes/upgrade.php
===================================================================
--- src/wp-admin/includes/upgrade.php	(revision 34331)
+++ src/wp-admin/includes/upgrade.php	(working copy)
@@ -2041,6 +2041,7 @@
 
 	$cqueries = array(); // Creation Queries
 	$iqueries = array(); // Insertion Queries
+	$vqueries = array(); // View Queries
 	$for_update = array();
 
 	// Create a tablename index for an array ($cqueries) of queries
@@ -2054,6 +2055,14 @@
 			$iqueries[] = $qry;
 		} elseif ( preg_match( "|UPDATE ([^ ]*)|", $qry, $matches ) ) {
 			$iqueries[] = $qry;
+		} elseif ( preg_match( "|CREATE VIEW ([^ ]*)|", $qry, $matches ) ) {
+			$vqueries[] = $qry;
+		} elseif ( preg_match( "|CREATE ALGORITHM([^ ]*)|", $qry, $matches ) ) {
+			$vqueries[] = $qry;
+		} elseif ( preg_match( "|CREATE OR REPLACE VIEW ([^ ]*)|", $qry, $matches ) ) {
+			$vqueries[] = $qry;
+		} elseif ( preg_match( "|CREATE OR REPLACE ALGORITHM([^ ]*)|", $qry, $matches ) ) {
+			$vqueries[] = $qry;
 		} else {
 			// Unrecognized query type
 		}
@@ -2081,6 +2090,17 @@
 	 */
 	$iqueries = apply_filters( 'dbdelta_insert_queries', $iqueries );
 
+	/**
+	 * Filter the dbDelta SQL queries for creating or replacing views.
+	 *
+	 * Queries filterable via this hook contain "CREATE VIEW" or "CREATE OR REPLACE VIEW".
+	 *
+	 * @since x.x.x
+	 *
+	 * @param array $iqueries An array of dbDelta insert or update SQL queries.
+	 */
+	$vqueries = apply_filters( 'dbdelta_iview_queries', $vqueries );
+
 	$global_tables = $wpdb->tables( 'global' );
 	foreach ( $cqueries as $table => $qry ) {
 		// Upgrade global tables only for the main site. Don't upgrade at all if conditions are not optimal.
@@ -2257,7 +2277,11 @@
 		unset( $cqueries[ $table ], $for_update[ $table ] );
 	}
 
-	$allqueries = array_merge($cqueries, $iqueries);
+	foreach( $vqueries as $table => $query ) {
+		$for_update[] = $query;
+	}
+
+	$allqueries = array_merge($cqueries, $iqueries, $vqueries);
 	if ($execute) {
 		foreach ($allqueries as $query) {
 			// todo: Remove this?
