Press enter to see results or esc to cancel.

Laravel Migrasyonlar

Döküman Linki : http://laravel.gen.tr/docs/migrations ve http://laravel.gen.tr/docs/schema

Migrasyonun ne olduğunu anlamak için önce tanımına bakalım.

Migrasyonlar veritabanı için bir sürüm kontrol türüdür. Bir ekibin veritabanı şemasını değiştirmesine ve son şema durumuna güncel kalmalarına imkan verir.

Basit bir şekilde ne işe yaradığını anlatmak istersek sizin ve takım arkadaşlarınızın veritabanı ile etkileşiminizi kolaylaştırır diyebiliriz.

Yeni migrasyon oluşturma


Bu komutu kullandığımızda app/database/migrations klasöründe yeni dosyamız oluşur.

kullanicilar_tablosuna_oy_verenler_ekle kısmı class isminde kullanılıyor buraya istediğinizi yazabilirsiniz tabi tablonun yaptığı işi tanımlayan bir cümle olursa daha iyi olur.

users kısmında da oluşturulacak olan tablonun ismini giriyoruz.

Dosyamız oluştuktan sonra içini inceleyelim :

Örnek olarak yazilar isminde bir tablo oluşturalım.

Böylece ilk migrasyonumuzu oluşturmuş olduk.Bu kısımda kullanabileceğiniz sütun tipleri şunlardır.

Komut Açıklama
$table->bigIncrements('id'); “big integer” eşdeğeri.
$table->bigInteger('puan'); BIGINT eşdeğeri sütun
$table->binary('veri'); BLOB eşdeğeri sütun
$table->boolean('teyit'); BOOLEAN eşdeğeri sütun
$table->char('isim', 4); bir uzunluğu olan CHAR eşdeğeri
$table->date('created_at'); DATE eşdeğeri sütun
$table->dateTime('created_at'); DATETIME eşdeğeri sütun
$table->decimal('miktar', 5, 2); basamak ve ondalık basamak sayısı belirlenmiş DECIMAL eşdeğeri sütun
$table->double('column', 15, 8); DOUBLE eşdeğeri sütun
$table->enum('tercihler', array('falan', 'filan')); ENUM eşdeğeri sütun
$table->float('miktar'); FLOAT eşdeğeri sütun
$table->increments('id'); Giderek artan ID alanı ekler (birincil anahtar).
$table->integer('puan'); INTEGER eşdeğeri sütun
$table->longText('description'); LONGTEXT eşdeğeri
$table->mediumText('description'); MEDIUMTEXT eşdeğeri
$table->morphs('taggable'); INTEGER taggable_id ve STRING taggable_type alanlarını ekler
$table->smallInteger('puan'); SMALLINT eşdeğeri sütun
$table->tinyInteger('numbers'); TINYINT eşdeğeri
$table->softDeletes(); Belirsiz silmeler için deleted_at sütunu ekler
$table->string('email'); VARCHAR eşdeğeri sütun
$table->string('isim', 100); belli uzunlukta VARCHAR eşdeğeri sütun
$table->text('izahat'); TEXT eşdeğeri sütun
$table->time('ikindi'); TIME eşdeğeri sütun
$table->timestamp('eklenme_vakti'); TIMESTAMP eşdeğeri sütun
$table->timestamps(); created_at ve updated_at sütunlarını ekler
->nullable() İlgili sütunun NULL değerleri olabilir demektir
->default($deger) Bir sütun için ön tanımlı bir değer tanımlar
->unsigned() INTEGER’i UNSIGNED olarak ayarlar

Migrasyonları çalıştırma


komutuyla migrasyonları çalıştırabilirsiniz. (Veritabanı ayarlarınızı yapmış olmanız gerekir.)

Migrasyonlarda diğer işlemler


son migrasyon işlemini geri döndürür.

tüm migrasyon işlemlerini geri döndürür.

Veri ekleme


Oluşturduğumuz tabloların içine aynı zamanda da test verileri ekleyebiliriz.

Bu işlem için app/database/seeds klasöründe DatabaseSeeder.php dosyasını kullanacağız.

Dökümantasyondan bir örnekle veri eklemeyi inceleyelim :

Bu komutu kullandığımızda veri ekleme işlemimiz tamamlanmış olur.

Bu komutla da belirli bir sınıfın veri ekleme işlemini gerçekleştirebilirsiniz.

Migrasyonlar hakkında detaylı bilgi için lütfen dökümantasyonu kontrol edin