vBullettin 'de İki Database Birleştirme Adım Adım Resimli Anlatım (Örnek Tablo User) - Google Fan Webmaster Forum
Google Fan Webmaster Forum  

Geri Dön   Google Fan Webmaster Forum > Genel Programlama > Web tabanlı uygulamalar > Vbulletin

Vbulletin Vbulletin Türkçe yardım

Cevapla
 
LinkBack Konu Seçenekleri
  #1 (permalink)  
Eski 10-01-2008, 16:15:16
Fatu - ait Avatar  
İstanbul Avrupa Şubesi
Yaş: 29
Mesajlar: 46
iTrader Puanı: (0)
iTrader Feedback: (0%)
Rep puanı: 6
Fatu isimli üyemiz hakkına hiçbir bilgimiz yok.
Lightbulb vBullettin 'de İki Database Birleştirme Adım Adım Resimli Anlatım (Örnek Tablo User)

(Önce 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 hiçbir sorun çı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 üyelerini birleştirmek. Sadece User tablosunu örnek olarak anlattım.
Önce 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 görüldüğü gibiphpmyadmine girelim databasemizi seçelim ve dönüştüre tıklayıp aşğıdaki resimden devam edelim.

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

Üstteki resimde dikkat etmeniz gereken yerler kırmızı kutuyla ve yazılarla özellikle 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 çok büyük bir hata yapmış oluruz. Tekrar ilk aldığımız yedeği yüklemek gerekecek böyle 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 açalım.

Aşağıdaki resimdeki kırmızı çerçeve içine alınmış yerleri ve yazıları dikkatlice inceleyip okuyalım.

vBulletin ve benzeri dorumlarda her üyenin bir ID si vardır ve vBulletin üyeleri önce bu ID ye göre database'ye kaydeder. Yeni ekleyeceğimiz üyelerden nickleri aynı olan olabilir mailleri aynı olan olabilir yada başka herhangi bişeyi aynı olan üyeler çıkabilir. Üyelerin ID leri dışında bize engel teşkil edebilecek hiçbir şey yoktur. Neyleri aynı olursa olsun yeterki üye ID numaraları aynı olmasın biz bu birleştirme işlemini yapabiliriz.
Üye ID lerinin birbirleriyle çakışmasını engellemek için ne yapmamız gerekiyor? Bütün vBulletin forumlarda ilk üye ID si 1 dir ve sırayla devam eder.
Örnek:
Diyelimki kendi forumumuzun üye sayısı şu anda 42.784. Yeni ekleyeceğimiz diğer forumda ise 24.769 üye olsun.
Önce kendi forumumuza bakıyoruz: En son üye olan User'ın ID si kaç..?
Atıyorum mesela son üyenin ID si 44.375 olsun.
(Ana forumumuzda 42.784 üye olmasına rağmen son üye olan kişinin ID si neden bu rakamdan farklı? Çünkü arada silmiş olduğunuz üyeler olabilir. Aktifliği bitmiş olan üyeler olabilir. Rakamların farklı olması sizi aldatmasın. Önemli olan rakam son üye olan kişinin ID numarasıdır. Forumumuzdaki üye sayısının gerçekte bi önemi yotur.)
Bu ID ye nasıl bakacasınız: Son üye olan üyenin profiline bakmak için tıklayın adres çubuğunda siteniz.com u=44375 yazan u= den sonraki rakam üyenin ID numrasıdır.
Artık yapmamız gereken şey son resimdeki gördüğümüz parantezden sonraki ilk rakamları teker teker değiştirmektir. yani o rakamları mesela il satırı gösteriyorum;
Orjinal satır başlangıcı
INSERT INTO `user` VALUES (1, 6, '', 0, 'Fatu',.......
Değiştirmemiz gereken satır başlangıcı (böyle olacak)
INSERT INTO `user` VALUES (44376, 2, '', 0, 'Fatu',........
Gördüğünüz gibi Üye ID'si bir olan Fatu nickli User'ın ID'sini 44376 yaptık ve üyenin Üye Gurubu ID sini de 6'dan 2 ye çevirdik. Yukarıda bahsetmeyi unuttum şimdi zamanı geldi anlatıyorum. Parantezden sonraki ilk rakam User ID'dir ikinci rakam ise Üye Gurubu ID'sidir (yani rütbesidir). Üyenin rütbesini değiştirmezseniz ne olur..? Tabiki eleyeceğiniz forumun adminleri süper moderatörleri moderatörleride sizin forumunuzda aynen admin smod ve mod olarak eklenir. Bunu istemiyorsanız değiştirin. Zaten rütbeli üyelerin sayısı fazla olmayacağı için bunu manuel olarak yapmanızı tavsiye ederim. Konuyu daha fazla karıştırmayalım. Yada aynen hiç ellemeden de üyeleri önce eklersiniz sonra normal bi şekilde admin panelden girip yetkileri alırsınız herhangi bi sorun çıkmaz.
Diğerlerinide aynı şekilde sırayla yapmamız gerek. Bunu bu şekilde manuel olarak tabiki yapmak çok 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 çok zahmete girmeden yapabilmek için ufak bi taktik anlatıcam. Bu taktiği geliştirip sizin işinize daha çok yarabilecek hale getirmek sizin elinizde olan bişi.
Örnek olarak aşağıdaki rakamları vermiştik:
Ve demiştik ki son üyenin id numarası 44375.
Bu örneğe göre size tavsiyem;
Aşağıdaki maddeleri yapmadan önce eklenecek-user.sql dosyamızın bir kopyası kenarda bi yerde saklayalım. Yanlış yaparsak yine bu dosyamıza geri dönebilelim 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 önce bir takım bilgiler yazılı. Sadece bu bilgileri bırakıp diğer bütün 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
Önce 2. dosya olan 1-999.txt dosyasını açalım wordpad'imiz ile. Size yine tavsiyem en azından ilk 99 üyeyi elle manuel olarak girmeniz. Zaten genelde forumlarda bütün yetkililer genelde ilk üyelerdir. Onları görüp direk editlemiş olursunuz. Yada onları hiç eklemeyin silin gitsin. (Çok önemli değilse tabiki..!) Şimdi ben sildiğimizi varsayıp o şekilde anlatmaya devam ediyorum. Siz nasıl istiyorsanız öyle yaparsınız.
Şimdi aşağıdaki resimleri dikkatlice inceleyip resimlerdeki yazılarıda dikkatlice okuyalım.

Birden 100'e kadar olan üyeleri sildik ve dosya yukarıdaki resimdeki gibi görünüyor. Şimdi yapmamız gereken şey aşağıdaki resimdeki kırmızı çerçeveye aldığım yerdeki gibi bazı üyelerin ID numaralarının sırası kaymış. Aşağıdaki resimde görünen 159 ve 160 ID no lu üyelerin arasına ID numarası 10 binlerde olan üç tane üye kaymış. Bunları ya siliyoruz yada olması gereken yere kendi sırasına kopyalayıp yağıştırıyoruz. Bunları kontrol edip temizlemezsek çakışan ID ler olabilir. Şöyle bi göz gezdirelim bütün ID lere. Zaten direk gözünüze çarpacaktır. Onları hemen düzeltiyoruz.

Bu ufak düzeltme işlemlerini iki dakkada hallettikten sonra aşağıdaki resimde görüldüğü gibi WordPad de düzen menüsünden Değiştir'i seçiyoruz 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 görünen ufak Değiştir penceresi açılıyor. Bizim elimizdeki databaselere göre yani ana forumumuzun üye sayısı son üyenin ID numarasına göre aşağıdaki gibi başlattım numaralandırmayı. Resimlerde de herşey açık görülüyor. Resimleri inceleyelim. Bu değiştirme rakamları bizim elimizdeki ana forumumuzun üye sayısına göre değişecektir. Benim verdiğim rakamlar yukarıdaki örnek forumların üye sayılarına göredir.
Verdiğimiz örnekte son üye olan kişinin üye ID si 44.375 ti. İlk yüz üyeyide silmiştik ve ben aşağıda bunu 45.100 den başlatıyorum. Aradaki olmayan ID lerin bi önemi yok. İsterseniz 150.000 den bile başlatabilirsiniz. Ama tabiki boş ID numarası ne kadar az olursa forumda bakım yaparken, güncelleştirme yaparken o kadar iyi olacaktır. Çok fazla boş ID numarası demek yapacağınız bakımların güncelleştirmelerin boşu boşuna daha fazla zaman harcaması demek olacaktır. Ona göre en uygun rakamdan başlatın.

Resimlerin üzerlerindeki yazıları okuyun.

Buraya kadar herşeyi düzgün olarak yaptıysak 100-999 üyenin id leri artık hazır durumda demektir. Aynı mantıkla diğer dosyalarıda tümünü değiştirip devam ediyoruz. Bu ID numarası değiştirme işlemi bittikten sonra; ana-user.sql dosyamızı açı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ı parçalara bölmeden 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 yüklüyorsanız o şekilde de yükleyebilirsiniz. Mesela mysqldumper, bigdump.php kullanıyorsanız aynı şekilde yine kullanabilirsiniz.)
Dosyamızı import ettikten sonra hemen koşup üye sayısına bakmayın henüz bişi değişmedi forumunuzda. Üyeler eklendi fakat henüz forumda görünmüyor. Şimdi normal bi şekilde admin panelimizden girip Bakımdan Güncelleme sayacına girip bütün güncelleştirmeleri yapmamız gerekiyor. Bu güncelleş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 açabilirsiniz. Üye sayınızı da kontrol edebilirsiniz.
Kolay gelsin.
(Şimdi burda sadece user tablosunu anlattık çünkü sadece userları birleştirmek böyle kolay oluyor. Diğer tablolarıda birleştirebiliriz aslında konuları mesajları vs. diğer tabloları fakat çok detaylı planlı ve programlı bir şekilde herşeyi yapmamız gerekecekti. Açıksası ben yukarıdaki anlattığım şekilde üç forumun üyelerini 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 açanlarla ilgili user id leri de birbirleriyle ilişkili olduğu için bunu yapmak çok zor ve planlı hareket etmek gerekir. Ben bunu yapabilmeyi göze almış olsaydım bile anlatmaya kalksam anlatamazdım..! )
Kaynak: vBullettin 'de İki Database Birleştirme Resimli Anlatım (Örnek Tablo User)
__________________
.
Alıntı ile Cevapla
Text Reklamlar
  #2 (permalink)  
Eski 10-01-2008, 20:30:17
divran - ait Avatar  
Trabzon Şubesi
Mesajlar: 47
iTrader Puanı: (0)
iTrader Feedback: (0%)
Rep puanı: -1
divran biraz seviyesizlik bulunan bir tartışmaya katılmış.
divran - MSN üzerinden Mesaj gönder
Tanımlı

Çok karmaşık ve yanlış bir yol.

ilk ve en önemli hatan sql dosyalarını yazı editoru ile açman
ikinc hata userid ler için atanan rakam ya başka yerde varsa değitirme esansında her şey çorba olur

bu işler mysql bilmeden öle ite kaka olmaz...
__________________
Eskiden : "5e175a229c648d8b91c8f06282d07ec6" && şimdi :"?"
Alıntı ile Cevapla
  #3 (permalink)  
Eski 10-01-2008, 20:35:59
Üyeliği durduruldu
 
Iğdır Şubesi
Mesajlar: 523
iTrader Puanı: (-1)
iTrader Feedback: (0%)
Rep puanı: 30
FromETC isimli üyemiz hakkına hiçbir bilgimiz yok.
Tanımlı

Peki arkadaşlar iki tane ayrı vb db si var. Ben kurulu ve çalışmakta olan vb db sine farklı bir yerden aldığım db nin içerisindeki bir kategorinin konularını çalışan db ye atmak istiyorum. Bunu nasıl yaparız ?
Alıntı ile Cevapla
  #4 (permalink)  
Eski 11-01-2008, 17:24:43
vuslat_sefa - ait Avatar  
Kastamonu Şubesi
Yaş: 19
Mesajlar: 195
iTrader Puanı: (0)
iTrader Feedback: (0%)
Rep puanı: 1
vuslat_sefa isimli üyemiz hakkına hiçbir bilgimiz yok.
vuslat_sefa - ICQ üzerinden Mesaj gönder
Tanımlı

"divran"

duzgun yolu gosterırmısınız ? bılmeyen arkadaslar yararlansın
Alıntı ile Cevapla
  #5 (permalink)  
Eski 11-01-2008, 19:27:06
divran - ait Avatar  
Trabzon Şubesi
Mesajlar: 47
iTrader Puanı: (0)
iTrader Feedback: (0%)
Rep puanı: -1
divran biraz seviyesizlik bulunan bir tartışmaya katılmış.
divran - MSN üzerinden Mesaj gönder
Tanımlı

Alıntı:
vuslat_sefa´isimli üyeden Alıntı Mesajı Göster
"divran"

duzgun yolu gosterırmısınız ? bılmeyen arkadaslar yararlansın
düzgn yolu göstersem de anlamak için azıcık ucundan mysql bilmek lazım

anladın sen onu ?
__________________
Eskiden : "5e175a229c648d8b91c8f06282d07ec6" && şimdi :"?"
Alıntı ile Cevapla
  #6 (permalink)  
Eski 11-01-2008, 19:38:14
ach - ait Avatar
ach ach isimli üye çevrimiçidir (Online)
 
Samsun Şubesi
Nerden: 127.0.0.1
Mesajlar: 3.349
iTrader Puanı: (2)
iTrader Feedback: (63%)
Rep puanı: 501
ach isimli üyemiz deha olduğu kadar çok dostane.ach isimli üyemiz deha olduğu kadar çok dostane.ach isimli üyemiz deha olduğu kadar çok dostane.ach isimli üyemiz deha olduğu kadar çok dostane.ach isimli üyemiz deha olduğu kadar çok dostane.ach isimli üyemiz deha olduğu kadar çok dostane.
ach - MSN üzerinden Mesaj gönder
Tanımlı

Anlat işte forumda bilenler var zaten
__________________
elimizi öpen herkesin alnını öperiz
Alıntı ile Cevapla
  #7 (permalink)  
Eski 11-01-2008, 20:12:08
vuslat_sefa - ait Avatar  
Kastamonu Şubesi
Yaş: 19
Mesajlar: 195
iTrader Puanı: (0)
iTrader Feedback: (0%)
Rep puanı: 1
vuslat_sefa isimli üyemiz hakkına hiçbir bilgimiz yok.
vuslat_sefa - ICQ üzerinden Mesaj gönder
Tanımlı

Alıntı:
ach´isimli üyeden Alıntı Mesajı Göster
Anlat işte forumda bilenler var zaten
bırak dostum kımseyı havalara ucurmaya gerek yok anlatmasın!
Alıntı ile Cevapla
  #8 (permalink)  
Eski 12-01-2008, 02:55:45
Fatu - ait Avatar  
İstanbul Avrupa Şubesi
Yaş: 29
Mesajlar: 46
iTrader Puanı: (0)
iTrader Feedback: (0%)
Rep puanı: 6
Fatu isimli üyemiz hakkına hiçbir bilgimiz yok.
Tanımlı

Konulara yorum yapmadan önce konuyu baştan sona bi okuyun sonra yorum yapın bi zahmet. YUkarıda anlatılan iki dakkada ezbere bişi değil, alıntı değil, boş laf değil. Lütfen boş laflar etmeyin milleti yanlış yönlendirmeyin. Üç database i bu şekilde birleştirdim çatır çatırda çalışıyor. Zerre kadarda mysql bilmiyorum. Hava atacaksanız boş laflarla değil icraat yaparak kendi konularınızın altında hava atın.

Ayrıca bu konuyla ilgili varsa bildiğiniz başka yönelmlerde önce anlatıcaksınız sonra geliceksiniz yazacaksınız. Başka bi konu altında milletyırtınıyor nasıl birleştirebiliyirim diye. Boş boş mesaj yazacağınıza anlatın.

Bu konuyada boş laf değil rep bekliyorum.
__________________
.
Alıntı ile Cevapla
  #9 (permalink)  
Eski 12-01-2008, 03:30:55
 
İstanbul Anadolu Şubesi
Nerden: Kadıköy
Mesajlar: 10.703
iTrader Puanı: (24)
iTrader Feedback: (100%)
Rep puanı: 1275
Erol isimli arkadaşımızla herkes gurur duyuyor.Erol isimli arkadaşımızla herkes gurur duyuyor.Erol isimli arkadaşımızla herkes gurur duyuyor.Erol isimli arkadaşımızla herkes gurur duyuyor.Erol isimli arkadaşımızla herkes gurur duyuyor.Erol isimli arkadaşımızla herkes gurur duyuyor.Erol isimli arkadaşımızla herkes gurur duyuyor.Erol isimli arkadaşımızla herkes gurur duyuyor.Erol isimli arkadaşımızla herkes gurur duyuyor.
Tanımlı

divran her yerde havalısın niye.iDo'dan bu yüzden banlandın.
__________________
Alt sayfa kraLı (A)
Alıntı ile Cevapla
  #10 (permalink)  
Eski 12-01-2008, 05:39:08
dna - ait Avatar
dna dna isimli üyemiz çevrimdışıdır. (Offline)
 
Ankara Şubesi
Yaş: 31
Mesajlar: 793
iTrader Puanı: (6)
iTrader Feedback: (100%)
Rep puanı: 13
dna isimli üyemiz hakkına hiçbir bilgimiz yok.
Tanımlı

Emegine ellerine saglik kardes
__________________
Your hand is on the job your eye is on playing
Alıntı ile Cevapla
Cevapla


Konuyu Toplam 1 üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Konu Seçenekleri

Yetkileriniz
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-KodlarıKapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

Okuduğunuz Konuya Benzer Konular
Konu Konuyu Açan Forum Cevaplar Son Mesaj
SQL sorgularıyla Vbulletin Yönetimi Cagonni Vbulletin 65 04-11-2008 15:48:51
Veritabanı Oluşturma ve Sql Yükleme KaaN Database 3 27-12-2006 17:31:18
Veritabanı Oluşturma ve Sql Yükleme KaaN Makale & Çeviri yazılar 0 20-06-2006 03:47:32

Bütün Zaman Ayarları WEZ +3 olarak düzenlenmiştir. Şu Anki Saat: 01:49:57 .


 
Telif Hakları vBulletin v3.7.4 © 2000-2008, ve Jelsoft Enterprises Ltd.'e Aittir.
Hosted by Radore Hosting Datacenter

“İnsanların en hayırlısı, insanlara faydalı olandır”. H.Ş

R10.net Donanım sponsoru Radyomix.fm

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202