- Giriş
- Yerleşimlerin Oluşturulması
- Yerleşimlerin Çalıştırılması
- Yerleşimlerin Geriye Döndürülmesi
- Veritabanı Filizlendirmesi
Yerleşimler 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. Yerleşimler, uygulama şemasını kolayca yönetmek amacıyla tipik olarak Şema (Schema) Kurucu ile eşleştirilirler.
Bir yerleşim oluşturmak için, Artisan KSA 'da (Artisan Komut Satırı Arayüzü) migrate:make
komutunu kullanabilirsiniz:
Bir Yerleşim Oluşturulması
php artisan migrate:make kullanicilar_tablosunu_olustur
Yerleşim app/database/migrations
dizininize konumlandırılır ve Laravel'in yerleşimlerin sırasını belirlemesine imkan veren bir zaman damgası içerir.
Yerleşimi oluştururken bir patika --path
seçeneği de belirtebilirsiniz. Patika, kurulum kök dizinine göreceli olmalıdır:
php artisan migrate:make falancaYerlesim --path=app/migrations
Tablo ismini ve yeni bir tablonun oluşturulacagını da, tablo --table
ve oluştur --create
seçeneklerini kullanarak belirtebilirsiniz:
php artisan migrate:make kullanicilar_tablosunu_olustur --table=kullanicilar --create
Bekleyen Yerleşimlerin Hepsinin Birden Çalıştırılması
php artisan migrate
Bir Patikadaki Yerleşimlerin Çalıştırılması
php artisan migrate --path=app/falancaDizin/migrations
Bir Paketin Tüm Bekleyen Yerleşimlerinin Çalıştırılması
php artisan migrate --package=vendor/package
Not: Yerleşimleri çalıştırırken, "class not found" (sınıf bulunamadı) hatası veririse,
composer update
(composer güncelle) komutunu çalıştırarak deneyiniz.
Son Yerleşim İşleminin Geriye Döndürülmesi
php artisan migrate:rollback
Tüm Yerleşim İşlemlerinin Geriye Döndürülmesi
php artisan migrate:reset
Tüm Yerleşim İşlemlerinin Geriye Döndürülmesi ve Hepsinin Tekrardan Çalıştırılması
php artisan migrate:refresh //filizlendirmeler dahil edilmeden
php artisan migrate:refresh --seed //filizlendirmeler dahil edilerek
Filizlendirme (seeding), yerleşim ile oluşturulacak veritabanı tablosunda gerekli olacak ilk veri kayıtlarının (seed data) oluşturulması işlemidir(:çevirenin notu). Laravel, veritabanınızın deneme verisi ile filizlendirilmesi için kolaylık sağlayacak olan filizlendirme (seed) sınıflarını bulundurur. Bütün filizlendirme sınıfları app/database/seeds
dizininde konumlandırılır. Filizlendirme sınıflarına istediğiniz isimleri verebilirsiniz. Fakat isimlendirirken anlaşılacak belli bir düzene (convention) uyulması lehinizedir, örneğin KullanicilarTablosuFilizlendiricisi
, vb. Ön tanımlı olarak, sizin için bir DatabaseSeeder sınıfı tanımlanmıştır. Filizlendirme sırasını denetlemenize imkan verecek olan, bu sınıfın 'çağır' call
yöntemini kullanarak diğer filizlendirme sınıflarınızı çalıştırabilirsiniz.
Veritabanı Filizlendirme Sınıfı Örneği
class DatabaseSeeder extends Seeder {
public function run()
{
$this->call('KullanicilarTablosuFilizlendiricisi');
$this->command->info('Kullanıcı tablosu filizlendirildi!');
}
}
class KullanicilarTablosuFilizlendiricisi extends Seeder {
public function run()
{
DB::table('kullanicilar')->delete();
User::create(array('email' => 'falanca@filanca.com'));
}
}
Veritabanınızı filizlendirmek için, Artisan KSA'da db:seed
(filizlendir) komutunu kullanabilirsiniz:
php artisan db:seed
Veritabanınızı migrate:refresh
(yenile) komutunu kullanarak da filizlendirebilirsiniz, bu komut aynı zamanda bütün yerleşimleri geriye döndürüp, hepsini tekrardan çalıştıracaktır:
php artisan migrate:refresh --seed