Manual:Sites table

From MediaWiki.org
Jump to: navigation, search

The sites table, introduced in MediaWiki 1.21 in May 2013, holds all the sites known to the wiki.

Fields[edit | edit source]

site_id[edit | edit source]

MediaWiki version: 1.21

Numeric id of the site. This is an auto-incrementing primary key.

site_global_key[edit | edit source]

MediaWiki version: 1.21

Global identifier for the site, ie 'enwiktionary'

site_type[edit | edit source]

MediaWiki version: 1.21

Type of the site, ie 'mediawiki'

site_group[edit | edit source]

MediaWiki version: 1.21

Group of the site, ie 'wikipedia'

site_source[edit | edit source]

MediaWiki version: 1.21

Source of the site data, ie 'local', 'wikidata', 'my-magical-repo'

site_language[edit | edit source]

MediaWiki version: 1.21

Language code of the sites primary language.

site_protocol[edit | edit source]

MediaWiki version: 1.21

Protocol of the site, ie 'http://', 'irc://', '//' This field is an index for lookups and is build from type specific data in site_data.

site_domain[edit | edit source]

MediaWiki version: 1.21

Domain of the site in reverse order, ie 'org.mediawiki.www.' This field is an index for lookups and is build from type specific data in site_data.

site_data[edit | edit source]

MediaWiki version: 1.21

Type dependent site data.

site_forward[edit | edit source]

MediaWiki version: 1.21

If site.tld/path/key:pageTitle should forward users to the page on the actual site, where "key" is the local identifier.

site_config[edit | edit source]

MediaWiki version: 1.21

Type dependent site config. For instance if template transclusion should be allowed if it's a MediaWiki.

Schema summary[edit | edit source]

MediaWiki version: 1.22

DESCRIBE sites; in MediaWiki 1.22alpha (2a2e9e6) results in:

+-----------------+------------------+------+-----+---------+----------------+
| Field           | Type             | Null | Key | Default | Extra          |
+-----------------+------------------+------+-----+---------+----------------+
| site_id         | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| site_global_key | varbinary(32)    | NO   | UNI | NULL    |                |
| site_type       | varbinary(32)    | NO   | MUL | NULL    |                |
| site_group      | varbinary(32)    | NO   | MUL | NULL    |                |
| site_source     | varbinary(32)    | NO   | MUL | NULL    |                |
| site_language   | varbinary(32)    | NO   | MUL | NULL    |                |
| site_protocol   | varbinary(32)    | NO   | MUL | NULL    |                |
| site_domain     | varbinary(255)   | NO   | MUL | NULL    |                |
| site_data       | blob             | NO   |     | NULL    |                |
| site_forward    | tinyint(1)       | NO   | MUL | NULL    |                |
| site_config     | blob             | NO   |     | NULL    |                |
+-----------------+------------------+------+-----+---------+----------------+

Scripts[edit | edit source]

Insert wiki family[edit | edit source]

Sometimes, you have to add your wikis in this table. You can use this code.


                $sites = array();
                foreach ( array( 'en', 'fr' ) as $langCode ) {
                        $site = new MediaWikiSite();
                        $site->setGlobalId( $langCode . 'mywiki' );
                        $site->setGroup( 'mywiki' );
                        $site->setLanguageCode( $langCode );
                        $site->addInterwikiId( $langCode );
                        $site->addNavigationId( $langCode );
                        $site->setPath( MediaWikiSite::PATH_PAGE, "http://$langCode.mywiki.org/wiki/$1" );
                        $site->setPath( MediaWikiSite::PATH_FILE, "http://$langCode.mywiki.org/w/$1" );                    
                        $sites[] = $site;
                }
                
                $sitesTable = SiteSQLStore::newInstance();
                $sitesTable->clear();
                $sitesTable->saveSites( $sites );
Databases Engines: MySQLOraclePostgreSQLSQLite
Technical documentation: Schema (tables) – API property associationsField prefixesPrimary key storage in other fieldsWikimedia extension tables
Configuration: SettingsSharing
Development: AccessOptimizationPolicyUpdaterExtension schema updatesPatch file
Core tables: archivecategorycategorylinkschange_tagconfigexternallinksfilearchivehitcounterimageimagelinksinterwikiiwlinksipblocksjobl10n_cachelanglinkslogginglog_searchmsg_resourcemsg_resource_linksmodule_depsobjectcacheoldimagepagepagelinkspage_propspage_restrictionsprotected_titlesquerycachequerycachetwoquerycache_inforecentchangesredirectrevisionsearchindexsitessite_statstag_summarytemplatelinkstexttranscacheupdateloguploadstashuseruser_former_groupsuser_groupsuser_newtalkuser_propertiesvalid_tagwatchlist