PluginProbe
Yoast SEO – Advanced SEO with real-time guidance and built-in AI / 18.6
Yoast SEO – Advanced SEO with real-time guidance and built-in AI v18.6
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 / 20200702141921_CreateIndexableSubpagesIndex.php

20200702141921_CreateIndexableSubpagesIndex.php in Yoast SEO – Advanced SEO with real-time guidance and built-in AI 18.6, at src/config/migrations/20200702141921_CreateIndexableSubpagesIndex.php

73 lines 1.2 KB
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 * CreateIndexableSubpagesIndex class.
10 */
11 class CreateIndexableSubpagesIndex 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 $this->change_column(
27 $this->get_table_name(),
28 'post_status',
29 'string',
30 [
31 'null' => true,
32 'limit' => 20,
33 ]
34 );
35 $this->add_index(
36 $this->get_table_name(),
37 [ 'post_parent', 'object_type', 'post_status', 'object_id' ],
38 [ 'name' => 'subpages' ]
39 );
40 }
41
42 /**
43 * Migration down.
44 *
45 * @return void
46 */
47 public function down() {
48 $this->change_column(
49 $this->get_table_name(),
50 'post_status',
51 'string',
52 [
53 'null' => true,
54 'limit' => 191,
55 ]
56 );
57 $this->remove_index(
58 $this->get_table_name(),
59 [ 'post_parent', 'object_type', 'post_status', 'object_id' ],
60 [ 'name' => 'subpages' ]
61 );
62 }
63
64 /**
65 * Retrieves the table name to use for storing indexables.
66 *
67 * @return string The table name to use.
68 */
69 protected function get_table_name() {
70 return Model::get_table_name( 'Indexable' );
71 }
72 }
73