Manual:Sites table

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

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

site_global_key
Global identifier for the site, ie 'enwiktionary'

site_type
Type of the site, ie 'mediawiki'

site_group
Group of the site, ie 'wikipedia'

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

site_language
Language code of the sites primary language.

site_protocol
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
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
Type dependent site data.

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

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

Schema summary
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    |                |

Insert wiki family
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 );