PluginProbe
Yoast SEO – Advanced SEO with real-time guidance and built-in AI / 28.4
Yoast SEO – Advanced SEO with real-time guidance and built-in AI v28.4
28.5 28.4 28.3 28.2 28.1 28.0 27.9 27.8 27.7 27.6 27.5 trunk 18.0 18.1 18.2 18.3 18.4 18.4.1 18.5 18.5.1 18.6 18.7 18.8 18.9 19.0 All 129 releases
wordpress-seo / src / config / migrations / 20200408101900_AddCollationToTables.php

20200408101900_AddCollationToTables.php in Yoast SEO – Advanced SEO with real-time guidance and built-in AI 28.4, at src/config/migrations/20200408101900_AddCollationToTables.php

54 lines 958 B
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Yoast\WP\SEO\Config\Migrations;
4
5 use Yoast\WP\Lib\Migrations\Migration;
6 use Yoast\WP\Lib\Model;
7
8 /**
9 * Class AddCollationToTables.
10 */
11 class AddCollationToTables extends Migration {
12
13 /**
14 * The plugin this migration belongs to.
15 *
16 * @var string
17 */
18 public static $plugin = 'free';
19
20 /**
21 * Migration up.
22 *
23 * @return void
24 */
25 public function up() {
26 global $wpdb;
27
28 $charset_collate = $wpdb->get_charset_collate();
29 if ( empty( $charset_collate ) ) {
30 return;
31 }
32
33 $tables = [
34 Model::get_table_name( 'migrations' ),
35 Model::get_table_name( 'Indexable' ),
36 Model::get_table_name( 'Indexable_Hierarchy' ),
37 Model::get_table_name( 'Primary_Term' ),
38 ];
39
40 foreach ( $tables as $table ) {
41 $this->query( 'ALTER TABLE ' . $table . ' CONVERT TO ' . \str_replace( 'DEFAULT ', '', $charset_collate ) );
42 }
43 }
44
45 /**
46 * Migration down.
47 *
48 * @return void
49 */
50 public function down() {
51 // No down required.
52 }
53 }
54