PHP 8.2.31
Preview: 20200420073606_AddColumnsToIndexables.php Size: 2.08 KB
/home/nshryvcy/blissfulnepal.com/wp-content/plugins/wordpress-seo/src/config/migrations/20200420073606_AddColumnsToIndexables.php

<?php

namespace Yoast\WP\SEO\Config\Migrations;

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

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

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

	/**
	 * Migration up.
	 *
	 * @return void
	 */
	public function up() {
		$tables  = $this->get_tables();
		$blog_id = \get_current_blog_id();
		foreach ( $tables as $table ) {
			$this->add_column(
				$table,
				'blog_id',
				'biginteger',
				[
					'null'    => false,
					'limit'   => 20,
					'default' => $blog_id,
				],
			);
		}

		$attr_limit_32 = [
			'null'  => true,
			'limit' => 32,
		];
		$attr_limit_64 = [
			'null'  => true,
			'limit' => 64,
		];

		$indexable_table = $this->get_indexable_table();
		$this->add_column( $indexable_table, 'language', 'string', $attr_limit_32 );
		$this->add_column( $indexable_table, 'region', 'string', $attr_limit_32 );
		$this->add_column( $indexable_table, 'schema_page_type', 'string', $attr_limit_64 );
		$this->add_column( $indexable_table, 'schema_article_type', 'string', $attr_limit_64 );
	}

	/**
	 * Migration down.
	 *
	 * @return void
	 */
	public function down() {
		$tables = $this->get_tables();
		foreach ( $tables as $table ) {
			$this->remove_column( $table, 'blog_id' );
		}

		$indexable_table = $this->get_indexable_table();
		$this->remove_column( $indexable_table, 'language' );
		$this->remove_column( $indexable_table, 'region' );
		$this->remove_column( $indexable_table, 'schema_page_type' );
		$this->remove_column( $indexable_table, 'schema_article_type' );
	}

	/**
	 * Retrieves the Indexable table.
	 *
	 * @return string The Indexable table name.
	 */
	protected function get_indexable_table() {
		return Model::get_table_name( 'Indexable' );
	}

	/**
	 * Retrieves the table names to use.
	 *
	 * @return string[] The table names to use.
	 */
	protected function get_tables() {
		return [
			$this->get_indexable_table(),
			Model::get_table_name( 'Indexable_Hierarchy' ),
			Model::get_table_name( 'Primary_Term' ),
		];
	}
}

Directory Contents

Dirs: 0 × Files: 26

Name Size Perms Modified Actions
6.20 KB lrw-r--r-- 2026-06-03 14:57:42
Edit Download
1.52 KB lrw-r--r-- 2026-06-03 14:57:42
Edit Download
891 B lrw-r--r-- 2026-06-03 14:57:42
Edit Download
1.56 KB lrw-r--r-- 2026-06-03 14:57:42
Edit Download
958 B lrw-r--r-- 2026-06-03 14:57:42
Edit Download
2.08 KB lrw-r--r-- 2026-06-03 14:57:42
Edit Download
1.23 KB lrw-r--r-- 2026-06-03 14:57:42
Edit Download
1.77 KB lrw-r--r-- 2026-06-03 14:57:42
Edit Download
1.05 KB lrw-r--r-- 2026-06-03 14:57:42
Edit Download
993 B lrw-r--r-- 2026-06-03 14:57:42
Edit Download
1.05 KB lrw-r--r-- 2026-06-03 14:57:42
Edit Download
1.07 KB lrw-r--r-- 2026-06-03 14:57:42
Edit Download
758 B lrw-r--r-- 2026-06-03 14:57:42
Edit Download
947 B lrw-r--r-- 2026-06-03 14:57:42
Edit Download
2.25 KB lrw-r--r-- 2026-06-03 14:57:42
Edit Download
2.47 KB lrw-r--r-- 2026-06-03 14:57:42
Edit Download
1.23 KB lrw-r--r-- 2026-06-03 14:57:42
Edit Download
1.18 KB lrw-r--r-- 2026-06-03 14:57:42
Edit Download
964 B lrw-r--r-- 2026-06-03 14:57:42
Edit Download
1.02 KB lrw-r--r-- 2026-06-03 14:57:42
Edit Download
1.01 KB lrw-r--r-- 2026-06-03 14:57:42
Edit Download
873 B lrw-r--r-- 2026-06-03 14:57:42
Edit Download
1.51 KB lrw-r--r-- 2026-06-03 14:57:42
Edit Download
947 B lrw-r--r-- 2026-06-03 14:57:42
Edit Download
1.13 KB lrw-r--r-- 2026-06-03 14:57:42
Edit Download
1.41 KB lrw-r--r-- 2026-06-03 14:57:42
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).