PluginProbe
Fluent Booking – The Ultimate Appointments Scheduling, Events Booking, Events Calendar Solution / 2.5.0
Fluent Booking – The Ultimate Appointments Scheduling, Events Booking, Events Calendar Solution v2.5.0
2.5.0 2.4.0 2.3.0 2.2.5 2.2.0 2.1.2 2.1.1 trunk 1.10.0 1.10.01 1.10.02 1.5.0 1.5.01 1.5.02 1.5.1 1.5.10 1.5.20 1.5.21 1.5.22 1.5.23 1.5.24 1.5.25 1.6.0 1.7.0 1.7.1 All 34 releases
← All changes | database/Migrations/BookingMigrator.php +11 -1 2.1.2 → 2.5.0 View file →
@@ -64,9 +64,10 @@
64 64 KEY `fcal_b_calendar_id` (`calendar_id`),
65 65 KEY `fcal_b_fcrm_id` (`fcrm_id`),
66 66 KEY `fcal_b_event_id` (`event_id`),
67 67 KEY `fcal_b_booking_type` (`booking_type`),
68 - KEY `fcal_b_start_time` (`start_time`)
68 + KEY `fcal_b_start_time` (`start_time`),
69 + KEY `fcal_b_group_id` (`group_id`)
69 70 ) $charsetCollate;";
70 71
71 72 require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
72 73
@@ -77,7 +78,16 @@
77 78 if (!$isUtmContentMigrated) {
78 79 $safe_table = esc_sql($table);
79 80 $wpdb->query("ALTER TABLE `{$safe_table}` ADD COLUMN `utm_content` VARCHAR(192) NULL DEFAULT '' AFTER `utm_term`"); // phpcs:ignore WordPress.DB.DirectDatabaseQuery,WordPress.DB.PreparedSQL.InterpolatedNotPrepared
80 81 }
82 +
83 + $hasGroupIdIndex = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM information_schema.STATISTICS WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME=%s AND INDEX_NAME='fcal_b_group_id'", $table)); // phpcs:ignore WordPress.DB.DirectDatabaseQuery
84 + if (!$hasGroupIdIndex) {
85 + $safe_table = esc_sql($table);
86 + $wpdb->query("ALTER TABLE `{$safe_table}` ADD KEY `fcal_b_group_id` (`group_id`)"); // phpcs:ignore WordPress.DB.DirectDatabaseQuery,WordPress.DB.PreparedSQL.InterpolatedNotPrepared
87 + }
81 88 }
89 +
90 + // Row locked by Booking::assignNextGroupId().
91 + $wpdb->query("INSERT IGNORE INTO {$wpdb->options} (option_name, option_value, autoload) VALUES ('fcal_booking_group_lock', '', 'no')"); // phpcs:ignore WordPress.DB.DirectDatabaseQuery
82 92 }
83 93 }