(Once konuyu baştan sona okuyup, sonra adım adım yapmaya başlarsanız daha sağlıklı olacaktır.)
Konudaki herşey dikkatlice okunup yapılırsa hicbir sorun cıkmadan bu işi bitirebiliriz. Resimleri dikkatlice inceleyip, yazılarıda dikkatlica okumamız gerekiyor. Atlamadan ve sırasını karıştırmadan sırayla ve dikkatlice herşeyi yapın. Burda şu anda yapmakta olduğumuz şey iki farklı vbulletin databasesinin uyelerini birleştirmek. Sadece User tablosunu ornek olarak anlattım.
Once forumumuzu kapatalım ve tablolarımızı optimize edip onaralım..! Bu işlemleri vBulletin Admin panelinden yapınız.
Şimdi resimlerdeki işaretlenmiş yerleri ve yazıları dikkatlice inceleyip okuyalım ve yapalım.


Resimde de gorulduğu gibiphpmyadmine girelim databasemizi secelim ve donuşture tıklayıp aşğıdaki resimden devam edelim.


Once bu şekilde ana sitemizin yedeğini alalım..! Herhangi bi aksilik durumunda ne olur ne olmaz..! Ustteki iki resimde bunu yapıyoruz..! Şimdi aşağıdaki resimlerden itibaren asıl yapmamız gerekenlere başlıyoruz..!


Ustteki resimde dikkat etmeniz gereken yerler kırmızı kutuyla ve yazılarla ozellikle belirtilmiş. Yapı (structure) kutucuğundaki işareti kaldırıyoruz. Eğer bu işareti kaldırmazsak ana sitemizdeki userlar gider yerine sadece yeni ekleyeceğimiz userlar kalır. Dolayısıyla cok buyuk bir hata yapmış oluruz. Tekrar ilk aldığımız yedeği yuklemek gerekecek boyle bir hata durmunda.
Birleştirme İşlemi
Yukarıdaki resimdekini doğru olarak yaptıktan sonra esas iş şimdi daha yeni başlıyor. Aşağıdaki resimdeki gibi son kaydettiğimiz eklenecek-user.sql dosyasını WordPad ile acalım.


Aşağıdaki resimdeki kırmızı cerceve icine alınmış yerleri ve yazıları dikkatlice inceleyip okuyalım.


vBulletin ve benzeri dorumlarda her uyenin bir ID si vardır ve vBulletin uyeleri once bu ID ye gore database'ye kaydeder. Yeni ekleyeceğimiz uyelerden nickleri aynı olan olabilir mailleri aynı olan olabilir yada başka herhangi bişeyi aynı olan uyeler cıkabilir. Uyelerin ID leri dışında bize engel teşkil edebilecek hicbir şey yoktur. Neyleri aynı olursa olsun yeterki uye ID numaraları aynı olmasın biz bu birleştirme işlemini yapabiliriz.
Uye ID lerinin birbirleriyle cakışmasını engellemek icin ne yapmamız gerekiyor? Butun vBulletin forumlarda ilk uye ID si 1 dir ve sırayla devam eder.
Ornek:
Diyelimki kendi forumumuzun uye sayısı şu anda 42.784. Yeni ekleyeceğimiz diğer forumda ise 24.769 uye olsun.
Once kendi forumumuza bakıyoruz: En son uye olan User'ın ID si kac..?
Atıyorum mesela son uyenin ID si 44.375 olsun.
(Ana forumumuzda 42.784 uye olmasına rağmen son uye olan kişinin ID si neden bu rakamdan farklı? Cunku arada silmiş olduğunuz uyeler olabilir. Aktifliği bitmiş olan uyeler olabilir. Rakamların farklı olması sizi aldatmasın. Onemli olan rakam son uye olan kişinin ID numarasıdır. Forumumuzdaki uye sayısının gercekte bi onemi yotur.)
Bu ID ye nasıl bakacasınız: Son uye olan uyenin profiline bakmak icin tıklayın adres cubuğunda siteniz.com u=44375 yazan u= den sonraki rakam uyenin ID numrasıdır.
Artık yapmamız gereken şey son resimdeki gorduğumuz parantezden sonraki ilk rakamları teker teker değiştirmektir. yani o rakamları mesela il satırı gosteriyorum;
Orjinal satır başlangıcı
INSERT INTO `user` VALUES (1, 6, '', 0, 'Fatu',.......
Değiştirmemiz gereken satır başlangıcı (boyle olacak)
INSERT INTO `user` VALUES (44376, 2, '', 0, 'Fatu',........
Gorduğunuz gibi Uye ID'si bir olan Fatu nickli User'ın ID'sini 44376 yaptık ve uyenin Uye Gurubu ID sini de 6'dan 2 ye cevirdik. Yukarıda bahsetmeyi unuttum şimdi zamanı geldi anlatıyorum. Parantezden sonraki ilk rakam User ID'dir ikinci rakam ise Uye Gurubu ID'sidir (yani rutbesidir). Uyenin rutbesini değiştirmezseniz ne olur..? Tabiki eleyeceğiniz forumun adminleri super moderatorleri moderatorleride sizin forumunuzda aynen admin smod ve mod olarak eklenir. Bunu istemiyorsanız değiştirin. Zaten rutbeli uyelerin sayısı fazla olmayacağı icin bunu manuel olarak yapmanızı tavsiye ederim. Konuyu daha fazla karıştırmayalım. Yada aynen hic ellemeden de uyeleri once eklersiniz sonra normal bi şekilde admin panelden girip yetkileri alırsınız herhangi bi sorun cıkmaz.
Diğerlerinide aynı şekilde sırayla yapmamız gerek. Bunu bu şekilde manuel olarak tabiki yapmak cok zor saatlerce uğraştırıcı bir durum olur ve zaten mutlaka bi yerde hata yaparız aynı rakamı yazarız ve bu işlem hata verir.
Ben şimdi size bunu otomatik yada cok zahmete girmeden yapabilmek icin ufak bi taktik anlatıcam. Bu taktiği geliştirip sizin işinize daha cok yarabilecek hale getirmek sizin elinizde olan bişi.
Ornek olarak aşağıdaki rakamları vermiştik:
Ve demiştik ki son uyenin id numarası 44375.
Bu orneğe gore size tavsiyem;
Aşağıdaki maddeleri yapmadan once eklenecek-user.sql dosyamızın bir kopyası kenarda bi yerde saklayalım. Yanlış yaparsak yine bu dosyamıza geri donebilelim diye.
1. Eklenecek olan database deki User ları 1-999 a kadar olanlarını kopyala yapıştır yaparak yeni bir dosyaya kaydedelim, dosya ismide 1-999.txt olsun. (Worpad de yapıyoruz bu işi)
2. 1.000-9999 arasındaki userlarıda yine kopyala yapıştır yaparak wordpadde yeni bir dosyaya kaydedelim, dosya ismide 1000-9999.txt olsun.
3. 10.000-19.999 arasındaki userlarıda yine kopyala yapıştır yaparak wordpadde yeni bir dosyaya kaydedelim, dosya ismide 10000-19999.txt olsun.
4. 20.000-24.769 arasındaki user ları da yine kopyala yağıştır yaparak wordpadde yeni bir dosyaya kaydedelim, dosya ismide 20000-24769.txt olsun.
5. INSERT INTO ile başlayan satırlardan once bir takım bilgiler yazılı. Sadece bu bilgileri bırakıp diğer butun INSERT INTO ile başlayan satırları silelim ve kaydedelim ana dosyamızı. Bu Dosyamızın adı da ana-user.sql olsun.
Şimdi elimizde 5 tane dosya var.
1. Dosya: ana-user.sql
2. Dosya: 1-999.txt
3. Dosya: 1000-9999.txt
4. Dosya: 10000-19999.txt
5. Dosya: 20000-24769.txt
Once 2. dosya olan 1-999.txt dosyasını acalım wordpad'imiz ile. Size yine tavsiyem en azından ilk 99 uyeyi elle manuel olarak girmeniz. Zaten genelde forumlarda butun yetkililer genelde ilk uyelerdir. Onları gorup direk editlemiş olursunuz. Yada onları hic eklemeyin silin gitsin. (Cok onemli değilse tabiki..!) Şimdi ben sildiğimizi varsayıp o şekilde anlatmaya devam ediyorum. Siz nasıl istiyorsanız oyle yaparsınız.
Şimdi aşağıdaki resimleri dikkatlice inceleyip resimlerdeki yazılarıda dikkatlice okuyalım.


Birden 100'e kadar olan uyeleri sildik ve dosya yukarıdaki resimdeki gibi gorunuyor. Şimdi yapmamız gereken şey aşağıdaki resimdeki kırmızı cerceveye aldığım yerdeki gibi bazı uyelerin ID numaralarının sırası kaymış. Aşağıdaki resimde gorunen 159 ve 160 ID no lu uyelerin arasına ID numarası 10 binlerde olan uc tane uye kaymış. Bunları ya siliyoruz yada olması gereken yere kendi sırasına kopyalayıp yağıştırıyoruz. Bunları kontrol edip temizlemezsek cakışan ID ler olabilir. Şoyle bi goz gezdirelim butun ID lere. Zaten direk gozunuze carpacaktır. Onları hemen duzeltiyoruz.


Bu ufak duzeltme işlemlerini iki dakkada hallettikten sonra aşağıdaki resimde gorulduğu gibi WordPad de duzen menusunden Değiştir'i seciyoruz yada kısayolu olan Ctrl+H tuşlarına basıyoruz. (Değiştirin Yanında kısayolu yazıyor zaten.)


Değiştire tıkladıktan sonra aşağıdaki resimde gorunen ufak Değiştir penceresi acılıyor. Bizim elimizdeki databaselere gore yani ana forumumuzun uye sayısı son uyenin ID numarasına gore aşağıdaki gibi başlattım numaralandırmayı. Resimlerde de herşey acık goruluyor. Resimleri inceleyelim. Bu değiştirme rakamları bizim elimizdeki ana forumumuzun uye sayısına gore değişecektir. Benim verdiğim rakamlar yukarıdaki ornek forumların uye sayılarına goredir.
Verdiğimiz ornekte son uye olan kişinin uye ID si 44.375 ti. İlk yuz uyeyide silmiştik ve ben aşağıda bunu 45.100 den başlatıyorum. Aradaki olmayan ID lerin bi onemi yok. İsterseniz 150.000 den bile başlatabilirsiniz. Ama tabiki boş ID numarası ne kadar az olursa forumda bakım yaparken, guncelleştirme yaparken o kadar iyi olacaktır. Cok fazla boş ID numarası demek yapacağınız bakımların guncelleştirmelerin boşu boşuna daha fazla zaman harcaması demek olacaktır. Ona gore en uygun rakamdan başlatın.


Resimlerin uzerlerindeki yazıları okuyun.


Buraya kadar herşeyi duzgun olarak yaptıysak 100-999 uyenin id leri artık hazır durumda demektir. Aynı mantıkla diğer dosyalarıda tumunu değiştirip devam ediyoruz. Bu ID numarası değiştirme işlemi bittikten sonra; ana-user.sql dosyamızı acıyoruz ve altına bu değiştirdiğimiz diğer 4 dosyayı olduğu gibi kopyala yapıştır yapıyoruz. ana-user.sql dosyası parcalara bolmeden ki haline gelicek. Artık sql dosyamızda hazır hale geldi.
Şimdi yapmamız gereken şey phpmyadmin den bu dosyayı import etmek. (Yada siz nasıl DB yukluyorsanız o şekilde de yukleyebilirsiniz. Mesela mysqldumper, bigdump.php kullanıyorsanız aynı şekilde yine kullanabilirsiniz.)
Dosyamızı import ettikten sonra hemen koşup uye sayısına bakmayın henuz bişi değişmedi forumunuzda. Uyeler eklendi fakat henuz forumda gorunmuyor. Şimdi normal bi şekilde admin panelimizden girip Bakımdan Guncelleme sayacına girip butun guncelleştirmeleri yapmamız gerekiyor. Bu guncelleştirme işlemini yaptıktan sonra birde Tabloları optimize edip onarırsak daha sağlıklı olucaktır. Bu işlemleride yaptıktan sonra forumunuz acabilirsiniz. Uye sayınızı da kontrol edebilirsiniz.
Kolay gelsin.
(Şimdi burda sadece user tablosunu anlattık cunku sadece userları birleştirmek boyle kolay oluyor. Diğer tablolarıda birleştirebiliriz aslında konuları mesajları vs. diğer tabloları fakat cok detaylı planlı ve programlı bir şekilde herşeyi yapmamız gerekecekti. Acıksası ben yukarıdaki anlattığım şekilde uc forumun uyelerini birleştirdim fakat konuları mesajları birleştirmek yemedi. Mesela sadece konuları almaya kalksanız thread ID leri değiştirmek yetmeyecek. bununla ilgili post idleri ve yine konuyu acanlarla ilgili user id leri de birbirleriyle ilişkili olduğu icin bunu yapmak cok zor ve planlı hareket etmek gerekir. Ben bunu yapabilmeyi goze almış olsaydım bile anlatmaya kalksam anlatamazdım..! )