Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
0.00% |
0 / 177 |
|
0.00% |
0 / 1 |
CRAP | |
0.00% |
0 / 1 |
FlaggedRevsUpdaterHooks | |
0.00% |
0 / 177 |
|
0.00% |
0 / 1 |
20 | |
0.00% |
0 / 1 |
onLoadExtensionSchemaUpdates | |
0.00% |
0 / 177 |
|
0.00% |
0 / 1 |
20 |
1 | <?php |
2 | // phpcs:disable MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName |
3 | // phpcs:disable MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic |
4 | |
5 | use MediaWiki\Installer\Hook\LoadExtensionSchemaUpdatesHook; |
6 | |
7 | /** |
8 | * Class containing updater functions for a FlaggedRevs environment |
9 | */ |
10 | class FlaggedRevsUpdaterHooks implements |
11 | LoadExtensionSchemaUpdatesHook |
12 | { |
13 | |
14 | /** |
15 | * @inheritDoc |
16 | */ |
17 | public function onLoadExtensionSchemaUpdates( $du ) { |
18 | $dbType = $du->getDB()->getType(); |
19 | $du->dropExtensionTable( 'flaggedimages' ); |
20 | |
21 | // Initial install tables (current schema) |
22 | $du->addExtensionTable( 'flaggedrevs', __DIR__ . "/$dbType/tables-generated.sql" ); |
23 | |
24 | if ( $dbType == 'mysql' ) { |
25 | $base = __DIR__ . '/mysql'; |
26 | |
27 | // 1.38 |
28 | $du->dropExtensionField( |
29 | 'flaggedrevs', |
30 | 'fr_img_name', |
31 | "$base/patch-drop-fr_img.sql" |
32 | ); |
33 | |
34 | // 1.39 |
35 | $du->dropExtensionField( |
36 | 'flaggedpage_config', |
37 | 'fpc_select', |
38 | "$base/patch-drop-fpc_select.sql" |
39 | ); |
40 | $du->modifyExtensionField( |
41 | 'flaggedpages', |
42 | 'fp_pending_since', |
43 | "$base/patch-flaggedpages-timestamp.sql" |
44 | ); |
45 | $du->modifyExtensionField( |
46 | 'flaggedpage_pending', |
47 | 'fpp_pending_since', |
48 | "$base/patch-flaggedpage_pending-timestamp.sql" |
49 | ); |
50 | $du->modifyExtensionField( |
51 | 'flaggedrevs', |
52 | 'fr_timestamp', |
53 | "$base/patch-flaggedrevs-timestamps.sql" |
54 | ); |
55 | $du->modifyExtensionField( |
56 | 'flaggedrevs_statistics', |
57 | 'frs_timestamp', |
58 | "$base/patch-flaggedrevs_statistics-timestamp.sql" |
59 | ); |
60 | $du->modifyExtensionField( |
61 | 'flaggedpage_config', |
62 | 'fpc_expiry', |
63 | "$base/patch-flaggedpage_config-timestamp.sql" |
64 | ); |
65 | } elseif ( $dbType == 'postgres' ) { |
66 | $base = __DIR__ . '/postgres'; |
67 | |
68 | // 1.38 |
69 | $du->addExtensionUpdate( |
70 | [ 'dropPgIndex', 'flaggedrevs', 'fr_img_sha1' ] |
71 | ); |
72 | $du->addExtensionUpdate( |
73 | [ 'dropPgField', 'flaggedrevs', 'fr_img_name' ] |
74 | ); |
75 | $du->addExtensionUpdate( |
76 | [ 'dropPgField', 'flaggedrevs', 'fr_img_timestamp' ] |
77 | ); |
78 | $du->addExtensionUpdate( |
79 | [ 'dropPgField', 'flaggedrevs', 'fr_img_sha1' ] |
80 | ); |
81 | |
82 | // 1.39 |
83 | $du->addExtensionUpdate( |
84 | [ 'dropPgField', 'flaggedpage_config', 'fpc_select' ] |
85 | ); |
86 | $du->addExtensionUpdate( [ |
87 | 'dropDefault', 'flaggedpages', 'fp_page_id' |
88 | ] ); |
89 | $du->addExtensionUpdate( [ |
90 | 'dropDefault', 'flaggedpages', 'fp_stable' |
91 | ] ); |
92 | $du->addExtensionUpdate( [ |
93 | 'changeField', 'flaggedpages', 'fp_page_id', 'INT', '' |
94 | ] ); |
95 | $du->addExtensionUpdate( [ |
96 | 'changeField', 'flaggedpages', 'fp_reviewed', 'SMALLINT', 'fp_reviewed::SMALLINT DEFAULT 0' |
97 | ] ); |
98 | $du->addExtensionUpdate( [ |
99 | 'changeField', 'flaggedpages', 'fp_stable', 'INT', '' |
100 | ] ); |
101 | $du->addExtensionUpdate( [ |
102 | 'changeField', 'flaggedpages', 'fp_quality', 'SMALLINT', '' |
103 | ] ); |
104 | $du->addExtensionUpdate( [ |
105 | 'changeNullableField', 'flaggedpage_pending', 'fpp_pending_since', 'NOT NULL', true |
106 | ] ); |
107 | $du->addExtensionUpdate( [ |
108 | 'changeField', 'flaggedpage_pending', 'fpp_page_id', 'INT', '' |
109 | ] ); |
110 | $du->addExtensionUpdate( [ |
111 | 'changeField', 'flaggedpage_pending', 'fpp_quality', 'SMALLINT', '' |
112 | ] ); |
113 | $du->addExtensionUpdate( [ |
114 | 'changeField', 'flaggedpage_pending', 'fpp_rev_id', 'INT', '' |
115 | ] ); |
116 | $du->addExtensionUpdate( [ |
117 | 'dropDefault', 'flaggedrevs', 'fr_rev_id' |
118 | ] ); |
119 | $du->addExtensionUpdate( [ |
120 | 'dropDefault', 'flaggedrevs', 'fr_page_id' |
121 | ] ); |
122 | $du->addExtensionUpdate( [ |
123 | 'dropDefault', 'flaggedrevs', 'fr_tags' |
124 | ] ); |
125 | $du->addExtensionUpdate( [ |
126 | 'changeNullableField', 'flaggedrevs', 'fr_user', 'NOT NULL', true |
127 | ] ); |
128 | $du->addExtensionUpdate( [ |
129 | 'changeNullableField', 'flaggedrevs', 'fr_timestamp', 'NOT NULL', true |
130 | ] ); |
131 | $du->addExtensionUpdate( [ |
132 | 'renameIndex', 'flaggedrevs', 'page_rev', 'fr_page_rev' |
133 | ] ); |
134 | $du->addExtensionUpdate( [ |
135 | 'renameIndex', 'flaggedrevs', 'page_time', 'fr_page_time' |
136 | ] ); |
137 | $du->addExtensionUpdate( [ |
138 | 'renameIndex', 'flaggedrevs', 'page_qal_rev', 'fr_page_qal_rev' |
139 | ] ); |
140 | $du->addExtensionUpdate( [ |
141 | 'renameIndex', 'flaggedrevs', 'page_qal_time', 'fr_page_qal_time' |
142 | ] ); |
143 | $du->addExtensionUpdate( [ |
144 | 'changeField', 'flaggedrevs', 'fr_rev_id', 'INT', '' |
145 | ] ); |
146 | $du->addExtensionUpdate( [ |
147 | 'changeField', 'flaggedrevs', 'fr_page_id', 'INT', '' |
148 | ] ); |
149 | $du->addExtensionUpdate( [ |
150 | 'changeField', 'flaggedrevs', 'fr_user', 'INT', '' |
151 | ] ); |
152 | $du->addExtensionUpdate( [ |
153 | 'changeField', 'flaggedrevs', 'fr_quality', 'SMALLINT', 'fr_quality::SMALLINT DEFAULT 0' |
154 | ] ); |
155 | $du->addExtensionUpdate( [ |
156 | 'dropDefault', 'flaggedpage_config', 'fpc_page_id' |
157 | ] ); |
158 | $du->addExtensionUpdate( [ |
159 | 'changeNullableField', 'flaggedpage_config', 'fpc_expiry', 'NOT NULL', true |
160 | ] ); |
161 | $du->addExtensionUpdate( [ |
162 | 'changeField', 'flaggedpage_config', 'fpc_page_id', 'INT', '' |
163 | ] ); |
164 | $du->addExtensionUpdate( [ |
165 | 'changeField', 'flaggedpage_config', 'fpc_override', 'SMALLINT', '' |
166 | ] ); |
167 | $du->addExtensionUpdate( [ |
168 | 'renameIndex', 'flaggedrevs_tracking', 'namespace_title_from', 'frt_namespace_title_from' |
169 | ] ); |
170 | $du->addExtensionUpdate( [ |
171 | 'changeField', 'flaggedrevs_tracking', 'ftr_from', 'INT', 'ftr_from::INT DEFAULT 0' |
172 | ] ); |
173 | $du->addExtensionUpdate( [ |
174 | 'changeField', 'flaggedrevs_tracking', 'ftr_namespace', 'INT', 'ftr_namespace::INT DEFAULT 0' |
175 | ] ); |
176 | $du->dropExtensionIndex( |
177 | 'flaggedrevs_tracking', 'flaggedrevs_tracking_pkey', "$base/patch-flaggedrevs_tracking-drop-pk.sql" |
178 | ); |
179 | $du->addExtensionUpdate( [ |
180 | 'dropDefault', 'flaggedrevs_promote', 'frp_user_id' |
181 | ] ); |
182 | $du->addExtensionUpdate( [ |
183 | 'dropDefault', 'flaggedrevs_promote', 'frp_user_params' |
184 | ] ); |
185 | $du->addExtensionUpdate( [ |
186 | 'changeField', 'flaggedrevs_promote', 'frp_user_id', 'INT', '' |
187 | ] ); |
188 | } elseif ( $dbType == 'sqlite' ) { |
189 | $base = __DIR__ . '/sqlite'; |
190 | |
191 | // 1.38 |
192 | $du->dropExtensionField( |
193 | 'flaggedrevs', |
194 | 'fr_img_name', |
195 | "$base/patch-drop-fr_img.sql" |
196 | ); |
197 | |
198 | // 1.39 |
199 | $du->dropExtensionField( |
200 | 'flaggedpage_config', |
201 | 'fpc_select', |
202 | "$base/patch-drop-fpc_select.sql" |
203 | ); |
204 | } |
205 | |
206 | // 1.40 |
207 | $du->dropExtensionIndex( |
208 | 'flaggedrevs_tracking', |
209 | 'frt_from_namespace_title', |
210 | __DIR__ . "/$dbType/patch-flaggedrevs_tracking-unique-to-pk.sql" |
211 | ); |
212 | // 1.42 |
213 | $du->dropExtensionTable( 'flaggedtemplates' ); |
214 | } |
215 | } |