# wordpress-seo/18.4/src/config/migrations/20201216124002_ExpandIndexableIDColumnLengths.php

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

- Page: https://pluginprobe.com/plugins/wordpress-seo/18.4/code/src/config/migrations/20201216124002_ExpandIndexableIDColumnLengths.php
- Raw: https://pluginprobe.com/plugins/wordpress-seo/18.4/raw/src/config/migrations/20201216124002_ExpandIndexableIDColumnLengths.php
- Modified: 2020-12-29T10:07:40+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/20201216124002_ExpandIndexableIDColumnLengths.php#L10-L20`.

```php
<?php

namespace Yoast\WP\SEO\Config\Migrations;

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

/**
 * ExpandIndexableIDColumnLengths class.
 */
class ExpandIndexableIDColumnLengths extends Migration {

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

	/**
	 * The columns to change the column type and length of.
	 *
	 * @var string[]
	 */
	protected static $columns_to_change = [
		'object_id',
		'author_id',
		'post_parent',
	];

	/**
	 * Migration up.
	 *
	 * @return void
	 */
	public function up() {
		foreach ( self::$columns_to_change as $column ) {
			$this->change_column(
				$this->get_table_name(),
				$column,
				'biginteger',
				[ 'limit' => 20 ]
			);
		}
	}

	/**
	 * Migration down.
	 *
	 * @return void
	 */
	public function down() {
	}

	/**
	 * Retrieves the table name to use for storing indexables.
	 *
	 * @return string The table name to use.
	 */
	protected function get_table_name() {
		return Model::get_table_name( 'Indexable' );
	}
}

```
