Issues (29)

migrations/install_schema.php (1 issue)

Labels
Severity
1
<?php
2
/**
3
 *
4
 * Topic Prefixes extension for the phpBB Forum Software package.
5
 *
6
 * @copyright (c) 2016 phpBB Limited <https://www.phpbb.com>
7
 * @license GNU General Public License, version 2 (GPL-2.0)
8
 *
9
 */
10
11
namespace phpbb\topicprefixes\migrations;
12
13
/**
14
 * Class install_schema
15
 */
16
class install_schema extends \phpbb\db\migration\migration
0 ignored issues
show
The type phpbb\db\migration\migration was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
17
{
18
	/**
19
	 * @inheritdoc
20
	 */
21
	public function effectively_installed()
22
	{
23
		return $this->db_tools->sql_table_exists($this->table_prefix . 'topic_prefixes');
24
	}
25
26
	/**
27
	 * @inheritdoc
28
	 */
29
	public static function depends_on()
30
	{
31
		return ['\phpbb\db\migration\data\v31x\v314'];
32
	}
33
34
	/**
35
	 * Add the topic prefixes schema to the database:
36
	 *    topic_prefixes:
37
	 *        prefix_id        Prefix identifier
38
	 *        prefix_tag       Prefix tag
39
	 *        prefix_enabled   Prefix enabled/disabled state
40
	 *        prefix_parent_id Prefix parent identifier
41
	 *        prefix_left_id   Prefix left tree id
42
	 *        prefix_right_id  Prefix right tree id
43
	 *        prefix_parents   Prefix parents data
44
	 *        forum_id         The forum identifier associated with the prefix
45
	 *    topics:
46
	 *        topic_prefix_id The prefix identifier associated with the topic
47
	 *
48
	 * @return array Array of table schema
49
	 */
50
	public function update_schema()
51
	{
52
		return [
53
			'add_columns'	=> [
54
				$this->table_prefix . 'topics'			=> [
55
					'topic_prefix_id' => ['UINT', 0],
56
				],
57
			],
58
			'add_tables'	=> [
59
				$this->table_prefix . 'topic_prefixes'	=> [
60
					'COLUMNS'     => [
61
						'prefix_id'			=> ['UINT', null, 'auto_increment'],
62
						'prefix_tag'		=> ['VCHAR_UNI', ''],
63
						'prefix_enabled'	=> ['BOOL', 1],
64
						'prefix_parent_id'	=> ['UINT', 0],
65
						'prefix_left_id'	=> ['UINT', 0],
66
						'prefix_right_id'	=> ['UINT', 0],
67
						'prefix_parents'	=> ['MTEXT_UNI', ''],
68
						'forum_id'			=> ['UINT', 0],
69
					],
70
					'PRIMARY_KEY'			=> 'prefix_id',
71
				],
72
			],
73
		];
74
	}
75
76
	/**
77
	 * Drop the topic prefixes schema from the database
78
	 *
79
	 * @return array Array of table schema
80
	 */
81
	public function revert_schema()
82
	{
83
		return [
84
			'drop_columns'	=> [
85
				$this->table_prefix . 'topics' => [
86
					'topic_prefix_id',
87
				],
88
			],
89
			'drop_tables'	=> [
90
				$this->table_prefix . 'topic_prefixes',
91
			],
92
		];
93
	}
94
}
95