Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 14
0.00% covered (danger)
0.00%
0 / 1
CRAP
0.00% covered (danger)
0.00%
0 / 1
LoadExtensionSchemaUpdatesHookHandler
0.00% covered (danger)
0.00%
0 / 14
0.00% covered (danger)
0.00%
0 / 1
30
0.00% covered (danger)
0.00%
0 / 1
 onLoadExtensionSchemaUpdates
0.00% covered (danger)
0.00%
0 / 14
0.00% covered (danger)
0.00%
0 / 1
30
1<?php
2
3namespace MediaWiki\Extension\OAuthRateLimiter;
4
5use MediaWiki\Extension\OAuth\Backend\Utils;
6use MediaWiki\Installer\DatabaseUpdater;
7use MediaWiki\Installer\Hook\LoadExtensionSchemaUpdatesHook;
8
9class LoadExtensionSchemaUpdatesHookHandler implements LoadExtensionSchemaUpdatesHook {
10
11    /**
12     * @param DatabaseUpdater $updater
13     * @return bool|void
14     */
15    public function onLoadExtensionSchemaUpdates( $updater ) {
16        if ( !Utils::isCentralWiki() ) {
17            // no tables to add
18            return true;
19        }
20
21        $dbType = $updater->getDB()->getType();
22        $dir = dirname( __DIR__ );
23
24        if ( $dbType === 'mysql' ) {
25            $updater->addExtensionTable(
26                'oauth_ratelimit_client_tier',
27                "$dir/schema/tables-generated.sql"
28            );
29        } elseif ( $dbType === 'sqlite' || $dbType === 'postgres' ) {
30            $updater->addExtensionTable(
31                'oauth_ratelimit_client_tier',
32                "$dir/schema/$dbType/tables-generated.sql"
33            );
34        }
35    }
36}