Page MenuHomeWickedGov Phorge

SqliteDatabaseCreator.php
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

SqliteDatabaseCreator.php

<?php
namespace MediaWiki\Installer;
use MediaWiki\Installer\Task\ITaskContext;
use MediaWiki\MainConfigNames;
use MediaWiki\Status\Status;
use Wikimedia\Rdbms\DatabaseSqlite;
use Wikimedia\Rdbms\ILoadBalancer;
class SqliteDatabaseCreator extends DatabaseCreator {
/** @var string */
private $dataDir;
protected function __construct( ITaskContext $context ) {
parent::__construct( $context );
$this->dataDir = $context->getConfigVar( MainConfigNames::SQLiteDataDir );
}
public function existsLocally( $database ) {
$file = DatabaseSqlite::generateFileName( $this->dataDir, $database );
return file_exists( $file );
}
public function existsInLoadBalancer( ILoadBalancer $loadBalancer, $database ) {
return $this->existsLocally( $database );
}
public function createLocally( $database ): Status {
return $this->makeStubDBFile( $database );
}
public function createInLoadBalancer( ILoadBalancer $loadBalancer, $database ): Status {
return $this->createLocally( $database );
}
private function makeStubDBFile( string $db ): Status {
$file = DatabaseSqlite::generateFileName( $this->dataDir, $db );
if ( file_exists( $file ) ) {
if ( !is_writable( $file ) ) {
return Status::newFatal( 'config-sqlite-readonly', $file );
}
return Status::newGood();
}
$oldMask = umask( 0177 );
if ( file_put_contents( $file, '' ) === false ) {
umask( $oldMask );
return Status::newFatal( 'config-sqlite-cant-create-db', $file );
}
umask( $oldMask );
return Status::newGood();
}
}

File Metadata

Mime Type
text/x-php
Expires
Sat, May 16, 19:20 (5 h, 26 m)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
c0/3b/0860ba2c7ef9dd82363011be489e
Default Alt Text
SqliteDatabaseCreator.php (1 KB)

Event Timeline