Merhabalar
Eski bir Php projesini, sadece versiyon yükselterek güncellemek istiyoruz. Geçiş işlemlerinde, sorunsuz geçebilmek adına hangi adımları izlememiz gerekiyor.
NOT: Direk Laravel'e geçip, projeyi sıfırdan yazabilecek bir ekibimiz ve zamanımız olmadığı için var olanı en hızlı şekilde geçirmemiz gerekiyor.
Sistemimiz aşağıdaki özelliklere sahip.
- MySQL versiyonu 4x Php versiyonu 4x
- Php içinde MySQL'e bağlantı için mysql kullanılmış. (mysql_query("sorgu") şeklinde)
- Html kodlaması ISO8859-9
- Her program ayrı sayfa olarak yazılmış. Sorgulama ve görüntülemeler aynı sayfada bulunuyor.
- Veri tabanımızınız karakter kodlaması Latin 1.
- Tablolar içinde ki tarih alanlarında varsayılan değer olarak '0000-00-00' eklenmiş.
- Yedek dosyalar ile beraber ortalama 1550 tablo bulunuyor.
- En büyük tablomuz da ortalama 1050000 kayıt bulunuyor.
Geçiş yaparken en hızlı ve en kolay geçiş yöntemini arıyoruz.
1- Veri tabanını 4x den 8x'e aktarırken aşağıdaki komut ile aktarabiliyoruz. Daha kolay yöntemi var mı?
ALTER TABLE $tablename CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
2- Aktarılsa bile veri tabanındaki varsayılan değerler sorun oluyor. Bunu my.ini içine aşağıdaki komutu ekleyerek çözebiliyoruz. Bu bir güvenlik açığı oluşturur mu? Veya nasıl bir yöntem kullanabilir.
sql_mode="NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
3- mysql yerine mysqli_* kullanırsak mı daha hızlı olur, PDO mu?
- mysql de direk mysql_query("Sorgu") yapılırken, mysqli de mysqli_query($con,"Sorgu") yaparak, her query işleminde bağlantıyı göndermek gerekiyor. Burada PDO veya MySQLi de direk bağlantıyı yollamadan kullanmanın yolu var mı?
4- Html kodlamasını her programı açıp, utf8 yapmak yerine toplu olarak tüm programdaki kodlarda otomatik olarak yapabileceğim bir yöntem var mı?
5-Geçiş işleminde PHP ve MySQL tarafından dikkat etmemiz gereken durumlar nelerdir.
Kendi içimizde araştırma yaptık. Bazı yöntemler bulduk fakat sizlerin de deneyimlerinizden, önerilerinizden yararlanmak istiyoruz. Bu konuda desteklerinizi bekliyoruz.