Migrace zúčastněných

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Actor migration and the translation is 100% complete.
Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Türkçe • ‎azərbaycanca • ‎español • ‎français • ‎lietuvių • ‎polski • ‎português do Brasil • ‎čeština • ‎русский • ‎العربية • ‎हिन्दी • ‎日本語

Historicky uložila MediaWiki odkazy na uživatele (například autora revize nebo obrázku) jako dvojici [<id>, <name>] s [0, <IP adress>] pro anonymní úpravy. To bylo plýtvání úložným prostorem, způsobovalo problémy s výkonem na wiki s velkým počtem revizí a bylo velmi obtížné přejmenovat uživatele nebo představit nové typy autorů, jako je T133452. MediaWiki 1.31 zavádí koncept „zúčastněných“ (někoho, kdo provádí akci, jako je editace nebo událost protokolu; aktuálně buď registrovaný uživatel nebo anonymní), a migrační proces směrem k novému databázovému schématu s poli jako revision.rev_user a revision.rev_user_text nahrazené poli jako revision.rev_actor. Vzhledem k obrovské velikosti tabulky revision na anglické Wikipedii, která musí být plně odstraněna, než bude možné změny vyčistit, probíhá migrace postupně během několika vydání MediaWiki. Očekává se, že migrace skončí s novou MediaWiki 1.34.

Migrace vytvoří tabulkový záznam actor pro každý odlišný pár *_user / *_user_text a nahradí tyto páry odkazem na ID řádku účastníka. Přemísťují se následující sloupce:

Tabulka Staré sloupce Nový sloupec
revision rev_user, rev_user_text rev_actor
archive ar_user, ar_user_text ar_actor
ipblocks ipb_by, ipb_by_text ipb_by_actor
image img_user, img_user_text img_actor
oldimage oi_user, oi_user_text oi_actor
filearchive fa_user, fa_user_text fa_actor
recentchanges rc_user, rc_user_text rc_actor
logging log_user, log_user_text log_actor

Abychom se vyhnuli nákladným ALTER TABLE na extrémně obrovských revision tabulkách velkých Wikipedia wikis, rev_user a rev_user_text jsou nejprve zkopírovány do tabulky revision_actor_temp a odtud zpět na revision. Poté bude tabulka revision_actor_temp zrušena.

Jste-li vlastníkem wiki, pravděpodobně nemusíte nic dělat. K migraci dojde automaticky, když spustíte update.php. Pokud chcete mít pod kontrolou, kdy dojde k migraci, podívejte se na skript údržby $wgActorTableSchemaMigrationStage a migrateActors.php .

Pokud jste vývojář rozšíření a vaše rozšíření řídí přímý přístup k DB v některých postižených polích, budete muset své dotazy aktualizovat (a v ideálním případě použít metody getQueryInfo(), jako je Revision::getQueryInfo(), místo manuálního vytváření dotazu). Během období migrace můžete také použít třídu ActorMigration k získání informací o schématu / poli, které respektují všechna nastavení $wgActorTableSchemaMigrationStage.

Pokud jste vývojář nástrojů používajících Toolforge , může být ovlivněn výkon i když přímo nepoužíváte žádná z migrujících polí. Další informace viz wikitech: Změny úložiště Zprávy / Účastník na replikách Wiki.