PluginProbe
Fluent Booking – The Ultimate Appointments Scheduling, Events Booking, Events Calendar Solution / trunk
Fluent Booking – The Ultimate Appointments Scheduling, Events Booking, Events Calendar Solution vtrunk
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 1.7.2 All 33 releases
← All changes | database/Migrations/BookingMigrator.php +10 -1 1.5.21trunk View file →
@@ -14,8 +14,9 @@
14 14
15 15 $table = $wpdb->prefix . static::$tableName;
16 16
17 17 if ($wpdb->get_var($wpdb->prepare("SHOW TABLES LIKE %s", $table)) != $table) { // phpcs:ignore WordPress.DB.DirectDatabaseQuery
18 + // phpcs:ignore WordPress.DB.DirectDatabaseQuery.SchemaChange
18 19 $sql = "CREATE TABLE $table (
19 20 `id` BIGINT(20) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
20 21 `hash` VARCHAR(192) NULL,
21 22 `calendar_id` BIGINT(20) UNSIGNED NOT NULL,
@@ -54,8 +55,9 @@
54 55 `utm_source` VARCHAR(192) NULL DEFAULT '',
55 56 `utm_medium` VARCHAR(192) NULL DEFAULT '',
56 57 `utm_campaign` VARCHAR(192) NULL DEFAULT '',
57 58 `utm_term` VARCHAR(192) NULL DEFAULT '',
59 + `utm_content` VARCHAR(192) NULL DEFAULT '',
58 60 `created_at` TIMESTAMP NULL,
59 61 `updated_at` TIMESTAMP NULL,
60 62 KEY `fcal_b_parent_id` (`parent_id`),
61 63 KEY `fcal_b_hash` (`hash`),
@@ -67,8 +69,15 @@
67 69 ) $charsetCollate;";
68 70
69 71 require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
70 72
73 + // phpcs:ignore WordPress.DB.DirectDatabaseQuery.SchemaChange -- dbDelta() is the safe schema-change wrapper.
71 74 dbDelta($sql);
75 + } else {
76 + $isUtmContentMigrated = $wpdb->get_col($wpdb->prepare("SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE() AND COLUMN_NAME='utm_content' AND TABLE_NAME=%s",$table)); // phpcs:ignore WordPress.DB.DirectDatabaseQuery
77 + if (!$isUtmContentMigrated) {
78 + $safe_table = esc_sql($table);
79 + $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 + }
72 81 }
73 82 }
74 -}
83 +}