Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 9
0.00% covered (danger)
0.00%
0 / 2
CRAP
0.00% covered (danger)
0.00%
0 / 1
MysqlDatabaseCreator
0.00% covered (danger)
0.00%
0 / 9
0.00% covered (danger)
0.00%
0 / 2
6
0.00% covered (danger)
0.00%
0 / 1
 existsInConnection
0.00% covered (danger)
0.00%
0 / 6
0.00% covered (danger)
0.00%
0 / 1
2
 createInConnection
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2
3namespace MediaWiki\Installer;
4
5use MediaWiki\Status\Status;
6use Wikimedia\Rdbms\IDatabase;
7
8class MysqlDatabaseCreator extends NetworkedDatabaseCreator {
9    /** @inheritDoc */
10    protected function existsInConnection( IDatabase $conn, $database ) {
11        return (bool)$conn->newSelectQueryBuilder()
12            ->select( '1' )
13            ->from( 'information_schema.schemata' )
14            ->where( [ 'schema_name' => $database ] )
15            ->caller( __METHOD__ )
16            ->fetchRow();
17    }
18
19    /** @inheritDoc */
20    protected function createInConnection( IDatabase $conn, $database ): Status {
21        $encDatabase = $conn->addIdentifierQuotes( $database );
22        $conn->query( "CREATE DATABASE IF NOT EXISTS $encDatabase", __METHOD__ );
23        return Status::newGood();
24    }
25}