Aktör göçü

This page is a translated version of the page Actor migration and the translation is 68% complete.
Outdated translations are marked like this.

Tarihsel olarak, MediaWiki kullanıcılara yapılan kaynakları (örneğin bir revizyon veya görselin yazarı gibi) anonim düzenlemeler için [0, <IP adresi>] ile [<kimlik>, <ad>] çifti olarak saklamıştır. Bu bir depolama alanı kaybıydı, vikilerde çok sayıda revizyon ile performans sorunlarına neden oldu ve kullanıcıları yeniden adlandırmayı ya da T133452 gibi yeni yazar türlerini tanıtmayı çok zorlaştırdı. MediaWiki 1.31, aktörler kavramını (düzenleme veya günlük etkinliği gibi bir eylemde bulunan; şu anda kayıtlı bir kullanıcı veya adsız bir etkinlik) ve alanlarını içeren yeni bir veritabanı şemasına doğru geçiş sürecini tanıtıyor revision.rev_user ve revision.rev_user_text gibi, revision.rev_actor gibi alanlarla değiştirilir. Değişiklikler temizlenmeden önce tamamen taşınması gereken İngilizce Vikipedi revision tablosunun büyük boyutu nedeniyle, geçiş birkaç MediaWiki sürümü için aşamalı olarak gerçekleştiriliyor. MediaWiki 1.34'te bitmesi bekleniyor.

Geçiş her *_user/*_user_text çifti için actor değerinde bir tablo kaydı oluşturacak ve bu çiftleri oyuncu sıra kimliğine referans olarak değiştirecektir. Aşağıdaki sütunlar taşınıyor:

Tablo Eski sütunlar Yeni sütunlar
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

Büyük Vikipedi vikilerinin son derece büyük revision tablolarında pahalı bir ALTER TABLE yapmaktan kaçınmak için, ilk önce rev_user ve rev_user_text, ilk olarak revision_actor_temp tabloya ve oradan revision kopyalanır. revision_actor_temp tablo daha sonra bırakılacak.

Eğer bir viki sahibiyseniz, muhtemelen bir şey yapmanıza gerek yoktur, update.php çalıştırdığınızda geçiş otomatik olarak gerçekleşir. Geçişin ne zaman yapıldığını kontrol etmek istiyorsanız, $wgActorTableSchemaMigrationStage ve migrateActors.php bakım komut dosyasına bakın.

Bir uzantı geliştiricisiyseniz ve uzantınız etkilenen alanların bazılarına doğrudan DB erişimi sağlıyorsa, sorgularınızı güncellemeniz gerekir (ve sorgunuzu el ile oluşturmak yerine ideal olarak Revision::getQueryInfo() gibi getQueryInfo() yöntemlerini kullanın). Geçiş döneminde, herhangi bir $wgActorTableSchemaMigrationStage ayarına uyan şema/alan bilgisi almak için ActorMigration sınıfını da kullanabilirsiniz.

Toolforge kullanan bir araç geliştiricisiyseniz, etkilenen alanlardan herhangi birini doğrudan kullanmasanız bile performans etkileri olabilir. Ek bilgi için wikitech:Viki Kopyalarında Haberler/Aktör depolama değişiklikleri bölümüne bakın.