diff --git a/inc/upgrade/namespace.php b/inc/upgrade/namespace.php index c454836..1016230 100644 --- a/inc/upgrade/namespace.php +++ b/inc/upgrade/namespace.php @@ -28,6 +28,10 @@ function upgrade_database() { upgrade_database_2(); } + if ( $database_version < 3 ) { + upgrade_database_3(); + } + update_site_option( 'cavalcade_db_version', DATABASE_VERSION ); wp_cache_delete( 'jobs', 'cavalcade-jobs' ); @@ -62,3 +66,19 @@ function upgrade_database_2() { ); } } + +/** + * Upgrade Cavalcade database tables to version 3. + * + * Add indexes required for pre-flight filters. + */ +function upgrade_database_3() { + global $wpdb; + + $query = "ALTER TABLE `{$wpdb->base_prefix}cavalcade_jobs` + ADD INDEX `site` (`site`), + ADD INDEX `hook_args` (`hook`, `args`(50)), + ADD INDEX `nextrun` (`nextrun`)"; + + $wpdb->query( $query ); +}