Manual:$wgDBmwschema
Appearance
From mediawiki.org
Languages:
Database settings: $wgDBmwschema | |
---|---|
Schema that stores the MediaWiki tables in. |
|
Introduced in version: | 1.8.0 |
Removed in version: | Still in use |
Allowed values: | (string) |
Default value: | null (1.23+)'mediawiki' (1.8-1.22) |
Other settings: Alphabetical | By function |
Details
[edit ]Schema for mediawiki tables.
It was originally only used if your backend database was Postgres/MSSQL.
Since MediaWiki 1.31 it affects other database types too.
This indicates what schema the main mediawiki tables live in, and is roughly equivalent to the way that $wgDBprefix
is used by MySQL.
The installer of old MediaWiki versions were setting this to 'mediawiki'
in LocalSettings.php directly, even for MySQL databases, which may cause errors when upgrading.
If you get errors when upgrading to MediaWiki 1.31 or later and you're not using Postgres/MSSQL as database backend, remove this setting from LocalSettings.php.
Caution! Caution:
- Do not change
$wgDBmwschema
after Setup.php has been included. Note: Setup.php initializes various paths, includes some common files, starts sessions, and performs various other setup tasks for a request. It is not related to the installation or setup of MediaWiki. - Only files in
includes/db/
should use$wgDBmwschema
, while everything else should use the dbSchema() method provided by theWikimedia\Rdbms\IDatabase
interface or extract it from thegetDomainId()
method in either theWikimedia\Rdbms\ILoadBalancer
or theWikimedia\Rdbms\ILBFactory
interface. TheDatabaseDomain
class can extract such components from a database domain ID. - If you configure
$wgDBservers
or$wgLBFactoryConf
, you still need to define$wgDBname
,$wgDBmwschema
(if applicable for the DB type), and$wgDBprefix
(if applicable for the DB type). The combination of$wgDBname
,$wgDBmwschema
, and$wgDBprefix
define the current wiki's database domain. This is also called the local database domain. The 'dbname' and 'tablePrefix' settings in$wgDBservers
and$wgLBFactoryConf
only define the default DB/prefix when a connection is requested withDatabaseDomain::newUnspecified()->getId()
(the empty string) as the database domain, e.g.wfGetDB( DB_REPLICA, [], '' )
. Note that functions calls likewfGetDB( DB_REPLICA )
, which simply omit the database domain, are assumed to refer to the local database domain.
Warning Warning: If you change this setting, you should probably create a new user (and change
$wgDBuser
as well), because the configuration script sets the user's default path to include the schema.