AlterTable Komutu

Çoğu joomla kullanıcısının takıldığı konular içinde en başta gelen sorunlardır veritabanı ile ilgili problemler. Aslında büyük gibi görünen sorunlara bir çok SQL komututuyla hızlı ve pratik çözümler bulmak elinizde. Yeterki bu komutları tanıyıp bunları nasıl kullanacağınızı bilin, gerisi zaten kopyala yapıştır işlemi kadar kolay. SQL komutları anlatımımıza sorunlara göre değineceğimizden belli bir sıralama gözetmeksizin, sorunların joomla ile ilgili olan ve sık sorulan tarzda olan sorunlara yönelik olacak, ilk anlatımımıza veritabanı karakter karşılaştırmasıyla başlamayı uygun gördüm. Her joomlacının başındaki sorunlardır veritabanı karakter karşılaştırması sorunları… bu sebeple özellikle joomlanın ilk kurulduğu sırada seçilen yanlış karakter kodlaması sebebiyle karşılaşılan yedek alma ve yedek geri yükleme sırasında ortaya çıkar bu sorunun sonuçları. Şimdi bu sorunlarla nasıl baş edebileceğimize örneklemelerle bakalım.

Veritabanındaki tabloların karşısında “Veritabanı Karakter Karşılaştırma Değeri” genelde “latin1_swedish_ci” şeklinde olup aslında türkçe kurulan bir joomla sitesi için uygun olmayan bir karakter karşılaştırma değeridir. Sitemiz bu karakter karşılaştırması altında sorunsuz olarak çalışabilir ancak iş veritabanımızın yedeğini almaya geldiğinde, sql dosyamızın içine wordpad ile açıp baktığımızda türkçe karakterlerin bozuk ve anlamsız olarak yer aldığını görürüz. Böyle bir veritabanı yedeğini geri yüklediğimizde joomla içeriğimize ait tüm karakterlerin bozuk olduğunu görerek emeğimizin adeta heba olduğunu düşünürüz. Aslında veritabanı karakter karşılaştırmasını varolan tablolarda değiştirmek bir sql komutu sayesinde çok basit ve hızlı olarak mümkün olduğunu bilmek biraz olsun içinizi rahatlatacaktır, bu komut “Alter Table” komutudur. Bu komut sayesinde devamına yazacağımız veritabanı tablo değerlerimiz yine belirttiğimiz karakter kodlamasına bir çırpıda dönüşecektir. O zaman komutumuz aşağıdaki şekilde olacaktır;

ALTER TABLE `jos_content`  CONVERT TO CHARACTER SET utf8;

ALTER TABLE `jos_content_frontpage`  CONVERT TO CHARACTER SET utf8;

ALTER TABLE `jos_content_rating`  CONVERT TO CHARACTER SET utf8;

Örneğimizde yazdığımız komut, joomla veritabanı tablolarımızdan içeriğimizle ilgili olan “content” tablolarıdır bu şekilde yazdığımız bir komutu veritabanımızda üst menüde bulunan “SQL” butonuna basarak çalıştırabiliriz. Açılan alanda alt pencereye az önce yukarıda verdiğimiz kodları aynen yapıştırdıktan sonra bulunduğumuz bu alanda alttaki “Git” butonuna tıklayarak bu komutları çalıştırdığımızda burada adı geçen tablolar ve tablo içeriği otomatik olarak belirttiğimiz karakter kodlaması yapısına dönüşecektir. Görüldüğü gibi istenen iişlem gerçekleşti ve latin1_swedish_ci olan veritabanı tablolarımızdan seçtiklerimiz latin5_turkish_ci yapısına dönüştü. Örneğimizde kullandığımız kodu veritabanımızda kayıtlı olan joomla tablolarının adlarını yazarak çoğaltabilir ve tüm tablolarıda bu şekilde düzenleyebiliriz. Yazımızın devamı niteliğinde olacak olan bir dakahi anlatımımızda, diğer karakter hatalarının nasıl düzenleneceğini anlatacağım. Bir dahaki yazımda görüşmek dileğiyle

Add a Comment

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir