bp_pre_schema_upgrade()
Perform database operations that must take place before the general schema upgrades.
Description
dbDelta()
cannot handle certain operations – like changing indexes – so we do it here instead.
Source
File: bp-core/bp-core-update.php
function bp_pre_schema_upgrade() { global $wpdb; $raw_db_version = (int) bp_get_db_version_raw(); $bp_prefix = bp_core_get_table_prefix(); // 2.3.0: Change index lengths to account for utf8mb4. if ( $raw_db_version < 9695 ) { // Map table_name => columns. $tables = array( $bp_prefix . 'bp_activity_meta' => array( 'meta_key' ), $bp_prefix . 'bp_groups_groupmeta' => array( 'meta_key' ), $bp_prefix . 'bp_messages_meta' => array( 'meta_key' ), $bp_prefix . 'bp_notifications_meta' => array( 'meta_key' ), $bp_prefix . 'bp_user_blogs_blogmeta' => array( 'meta_key' ), $bp_prefix . 'bp_xprofile_meta' => array( 'meta_key' ), ); foreach ( $tables as $table_name => $indexes ) { foreach ( $indexes as $index ) { if ( $wpdb->query( $wpdb->prepare( "SHOW TABLES LIKE %s", bp_esc_like( $table_name ) ) ) ) { $wpdb->query( "ALTER TABLE {$table_name} DROP INDEX {$index}" ); } } } } }
Changelog
Version | Description |
---|---|
BuddyPress 2.3.0 | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.