Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 29
0.00% covered (danger)
0.00%
0 / 1
CRAP
0.00% covered (danger)
0.00%
0 / 1
SchemaHooks
0.00% covered (danger)
0.00%
0 / 29
0.00% covered (danger)
0.00%
0 / 1
20
0.00% covered (danger)
0.00%
0 / 1
 onLoadExtensionSchemaUpdates
0.00% covered (danger)
0.00%
0 / 29
0.00% covered (danger)
0.00%
0 / 1
20
1<?php
2
3namespace MediaWiki\Extension\WikiLove;
4
5use MediaWiki\Installer\DatabaseUpdater;
6use MediaWiki\Installer\Hook\LoadExtensionSchemaUpdatesHook;
7
8/**
9 * Schema hooks for WikiLove extension
10 *
11 * @ingroup Extensions
12 */
13class SchemaHooks implements LoadExtensionSchemaUpdatesHook {
14
15    /**
16     * LoadExtensionSchemaUpdates hook
17     *
18     * @param DatabaseUpdater $updater
19     */
20    public function onLoadExtensionSchemaUpdates( $updater ) {
21        $dbType = $updater->getDB()->getType();
22        $path = dirname( __DIR__ ) . '/patches';
23        if ( $dbType === 'mysql' ) {
24            $updater->addExtensionTable( 'wikilove_log',
25                $path . '/tables-generated.sql'
26            );
27            $updater->modifyExtensionField(
28                'wikilove_log',
29                'wll_timestamp',
30                $path . '/patch-wikilove_log-cleanup.sql'
31            );
32        } elseif ( $dbType === 'sqlite' ) {
33            $updater->addExtensionTable( 'wikilove_log',
34                $path . '/sqlite/tables-generated.sql'
35            );
36            $updater->modifyExtensionField(
37                'wikilove_log',
38                'wll_timestamp',
39                $path . '/sqlite/patch-wikilove_log-cleanup.sql'
40            );
41        } elseif ( $dbType === 'postgres' ) {
42            $updater->addExtensionTable( 'wikilove_log',
43                $path . '/postgres/tables-generated.sql'
44            );
45            $updater->modifyExtensionField(
46                'wikilove_log',
47                'wll_timestamp',
48                $path . '/postgres/patch-wikilove_log-cleanup.sql'
49            );
50        }
51    }
52
53}