Merhaba arkadaşlar, Bu yazıda codeigniter 4‘ün CLI komutlarından biri olan make:migration kodunu anlatacağım. İlerleyen zamanlarda bu tüm CLI komutlarına değineceğiz. Codeigniter kurulumuna ait bilgilerin yer aldığı makalemize buradan ulaşabilirsiniz. Çünkü kurulum adımlarını bu makalede anlatmayacağım. Geçelim asıl konumuza:
Uygulamanızın kurulu olduğu dizine cmd üzerinden veya editörünüz terminal komutlarını destekleyen bir panel size temin ediyor ise editör üzerinden ulaşın. Codeigniter veya başka herhangi bir framework ile çalışmaya karar vermişseniz yukarıda anlattıklarıma hakim olduğunuzu düşünüyorum.
Vereceğimiz ilk komutumuzun
php spark make:migration test
şeklinde olduğu varsayarak komutu açmak gerekirse, ilk komut parçası
php bilgisayarınızın PATH kısmında bulunan yollardan biridir. Bu sayede CMD ile ulaşabileceğiniz ve bilgisayarınızda bulunan php programlama dilinize birçok işlem yaptırabileceğiniz komut parçasıdır.
spark ise codeigniter framework tarafına CMD komutlarını iletip işleyeceğiniz komut parçasıdır.
make:migration ise birleştirme oluştur anlamını çıkarabiliriz. Bu birleştirme oluşturacak olduğumuz php dosyasına yazdığımız kodlar vasıtası ile veri tabanında tablo oluşturma, var olan bir tabloya veri ekleme, düzenleme ve silme gibi işlemler yapabiliyoruz.
Belirtmek isterim ki bu işlemleri herhangi bir arayüz kullanmadan sadece ve sadece kod ortamı ve CLI ile gerçekleştirebiliyoruz. Bu işlemleri yapabilmemizi sağlayan komut parçacığı ise make:migration. Son parçamız olan test ise, yukarıda anlattığım tüm veri tabanı ile ilgili tüm kodlarımızı yazacağımız dosyanın adıdır. Bu ad test olmak zorunda değildir ve isimlendirmekte dillere ait özel karakter kullanmamak kaydı ile özgürsünüz.
Komutu verdiğinizde yukarıda gördüğünüz gibi bir ekran ile karşılaşacaksınız.
Daha sonra yapmanız gereken oluşturduğunuz dosyayı bulup içeriğini düzenlemek olacaktır. Bu komutun faydası ise Manuel olarak temel kodları yazmak zorunda kalmıyoruz.
örnek vermek gerekirse aşağıya oluşan dosyanın içeriğine ait resmi bırakıyorum.
Resimde yer alan kodlara gelecek olursak iki adet fonksiyonumuz yer almaktadır. up ve down isminde olan.
up fonksiyonumuz veri tabanımızda oluşturacak olduğumuz tablo ismi ve stun bilgilerinin yer alacağı fonksiyonumuzdur.
down fonksiyonu ise oluşan tablonun veri tabanından kaldırılmasını sağlayan fonksiyondur.
Fonksiyonlara örnek verecek olursak basit bir tablo oluşturup ve bu tablomuzu silecek kodların yer aldığı fonksiyon örneklerini kod olarak aşağıya bırakayım.
namespace App\Database\Migrations; use CodeIgniter\Database\Migration; class Test extends Migration { public function up() { $this->forge->addField([ 'blog_id' => [ // veri tabanı tablomuza ait ilk kolonun adı. 'type' => 'INT', // kolonun integer(sayısal) değer depolayacağını belirtiyoruz. 'constraint' => 5, // kolonun alacağı değerin uzunluğunu belirtiyoruz. 5 karakterli değerler kabul edilir demektir. 'unsigned' => true, // sayısal değer taşıyacak alanlar için gerekli bir özelliktir. 'auto_increment' => true, // bu alanın otomatik arttırılacağını belirtiyoruz. Zira tabloya ait id(kimlik) değerleri benzersiz olmak zorundadır. ], 'blog_title' => [ 'type' => 'VARCHAR', // veri tabanı tablomuza ait ikinci kolonun adı. 'constraint' => '100', // uzunlukları değişken olan verilerin depolanacağı alandır. örneğin varchar(20) şeklinde bir alan oluşturup siz 15 karakter kullanırsanız belleğe 5 karakter iade edilir. ], ]); $this->forge->addKey('blog_id', true); // tablomuzdaki blog_id alanına girilecek değerlerin benzersiz bir şekilde artmasını sağlar. $this->forge->createTable('blog'); // blog adında bir tablo oluşturacak koddur. } public function down() { $this->forge->dropTable('blog'); // blog adına sahip tabloyu kaldıracak olan koddur. } }
Yukarıda gerekli olan bilgileri ilgili olan yerlere yazdım.
Yazdığımız kodları çalıştırmak için ise
php spark migrate
komutunu vermemiz gerekiyor. Bu komut tüm migration dosyalarımızı çalıştıracaktır.
Tek bir migration dosyası çalıştırmak istiyorsanız o zaman yukarıdaki komutumuza migration dosyanızın ismini belirtmek zorundasınız. Aşağıya örneğini bırakıyorum.
php spark migrate test
Ayrıca daha fazla bilgi için Codeigniter 4 migration destek sayfasını inceleyebilirsiniz. Sql veri tipleri için de mysql data types sayfasına göz atabilirsiniz.
Faydalı olması dileği ile, bilgi paylaştıkça çoğalır.
Bir sonraki makalemde görüşmek dileği ile hoş cakalın.