# wordpress-seo/18.4/src/config/migrations/20200408101900_AddCollationToTables.php

Yoast SEO – Advanced SEO with real-time guidance and built-in AI, version 18.4. 50 lines.

- Page: https://pluginprobe.com/plugins/wordpress-seo/18.4/code/src/config/migrations/20200408101900_AddCollationToTables.php
- Raw: https://pluginprobe.com/plugins/wordpress-seo/18.4/raw/src/config/migrations/20200408101900_AddCollationToTables.php
- Modified: 2020-09-01T12:27:02+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/wordpress-seo/18.4/code/src/config/migrations/20200408101900_AddCollationToTables.php#L10-L20`.

```php
<?php

namespace Yoast\WP\SEO\Config\Migrations;

use Yoast\WP\Lib\Migrations\Migration;
use Yoast\WP\Lib\Model;

/**
 * Class AddCollationToTables.
 */
class AddCollationToTables extends Migration {

	/**
	 * The plugin this migration belongs to.
	 *
	 * @var string
	 */
	public static $plugin = 'free';

	/**
	 * Migration up.
	 */
	public function up() {
		global $wpdb;

		$charset_collate = $wpdb->get_charset_collate();
		if ( empty( $charset_collate ) ) {
			return;
		}

		$tables = [
			Model::get_table_name( 'migrations' ),
			Model::get_table_name( 'Indexable' ),
			Model::get_table_name( 'Indexable_Hierarchy' ),
			Model::get_table_name( 'Primary_Term' ),
		];

		foreach ( $tables as $table ) {
			$this->query( 'ALTER TABLE ' . $table . ' CONVERT TO ' . \str_replace( 'DEFAULT ', '', $charset_collate ) );
		}
	}

	/**
	 * Migration down.
	 */
	public function down() {
		// No down required.
	}
}

```
