Web Doktoru - Laravel Migration ve Seeder Kullanımı
Laravel Migration ve Seeder Kullanımı Veritabanı Yönetimini Kolaylaştıran Araçlar arasında yer alır. Laravel, modern web uygulamaları geliştirirken veritabanı yönetimini kolaylaştıran iki önemli özellik sunar: Migration ve Seeder. Bu araçlar, geliştiricilere veritabanı tablolarını kod ile yönetme ve test verileri ekleme imkanı sağlar. Bu makalede, Laravel’de Migration ve Seeder kullanımını detaylı bir şekilde inceleyecek ve bu araçların nasıl etkili bir şekilde kullanılabileceğini öğreneceksiniz.
Migration, veritabanı tablolarını kod ile yönetmenizi sağlayan bir sistemdir. Elle SQL sorguları yazmak yerine, Laravel’in sunduğu Migration özelliği ile tablo oluşturabilir, güncelleyebilir veya silebilirsiniz. Bu, özellikle ekip çalışmalarında ve projelerin farklı ortamlara taşınmasında büyük kolaylık sağlar.
Yeni bir Migration oluşturmak için Laravel’in Artisan komut satırı aracını kullanabilirsiniz. Örneğin, posts adında bir tablo oluşturmak için aşağıdaki komutu çalıştırabilirsiniz:
php artisan make:migration create_posts_tableBu komut, database/migrations dizini içinde create_posts_table.php adında bir dosya oluşturur.
Oluşturulan Migration dosyası, iki temel metot içerir: up() ve down().
up() Metodu: Tablonun oluşturulmasını veya güncellenmesini sağlar.down() Metodu: Tablonun silinmesini veya değişikliklerin geri alınmasını sağlar (rollback işlemi için).Örneğin, posts tablosunu oluşturmak için up() metodunu aşağıdaki gibi düzenleyebilirsiniz:
public function up(): void
{
Schema::create('posts', function (Blueprint $table) {
$table->id();
$table->string('title');
$table->text('content');
$table->timestamps();
});
}Bu kod, posts adında bir tablo oluşturur ve bu tabloya id, title, content, created_at ve updated_at sütunlarını ekler.
Migration’ları veritabanına uygulamak için aşağıdaki Artisan komutunu kullanabilirsiniz:
php artisan migrateBu komut, tüm Migration’ları çalıştırarak veritabanında gerekli tabloları oluşturur.
Eğer bir değişiklik yapmak isterseniz, Migration’ları geri alabilirsiniz:
php artisan migrate:rollbackBu komut, en son çalıştırılan Migration’ı geri alır.
Tüm Migration’ları sıfırlayıp yeniden çalıştırmak için:
php artisan migrate:refreshBu komut, tüm Migration’ları geri alır ve yeniden çalıştırır.
Var olan bir tabloya yeni bir sütun eklemek için yeni bir Migration oluşturabilirsiniz. Örneğin, posts tablosuna status adında bir sütun eklemek için:
php artisan make:migration add_status_to_posts_table --table=postsBu komut, add_status_to_posts_table.php adında bir Migration dosyası oluşturur. Dosyanın içeriğini aşağıdaki gibi düzenleyebilirsiniz:
public function up(): void
{
Schema::table('posts', function (Blueprint $table) {
$table->string('status')->default('draft');
});
}
public function down(): void
{
Schema::table('posts', function (Blueprint $table) {
$table->dropColumn('status');
});
}Değişiklikleri veritabanına yansıtmak için:
php artisan migrateSeeder, test veya başlangıç verilerini veritabanına eklemek için kullanılan bir araçtır. Özellikle geliştirme aşamasında, uygulamanın farklı bölümlerini test etmek için örnek veriler eklemek oldukça faydalıdır.
Yeni bir Seeder oluşturmak için aşağıdaki Artisan komutunu kullanabilirsiniz:
php artisan make:seeder PostSeederBu komut, database/seeders/PostSeeder.php dosyasını oluşturur.
Seeder dosyasını açıp, run() metodunu düzenleyerek test verileri ekleyebilirsiniz. Örneğin, posts tablosuna bir kayıt eklemek için:
public function run(): void
{
DB::table('posts')->insert([
'title' => 'Laravel Seeder Kullanımı',
'content' => 'Seeder ile test verileri oluşturabilirsiniz.',
'created_at' => now(),
'updated_at' => now(),
]);
}Seeder’ı çalıştırmak için:
php artisan db:seed --class=PostSeederTüm Seeder’ları çalıştırmak için:
php artisan db:seedEğer birden fazla Seeder’ı toplu olarak çalıştırmak istiyorsanız, DatabaseSeeder.php dosyasını kullanabilirsiniz. Örneğin:
public function run(): void
{
$this->call([
PostSeeder::class,
UserSeeder::class,
]);
}Bu sayede, tüm Seeder’ları tek bir komutla çalıştırabilirsiniz:
php artisan db:seedMigration ve Seeder’lar doğrudan SEO ile ilişkili değildir. Ancak, dolaylı olarak SEO’ya katkıda bulunabilirler:
Laravel’de Migration ve Seeder kullanımı, veritabanı yönetimini kolaylaştıran ve geliştirme sürecini hızlandıran iki önemli özelliktir. Migration ile veritabanı tablolarını kod ile yönetebilir, Seeder ile test verileri ekleyebilirsiniz. Bu araçlar, özellikle ekip çalışmalarında ve projelerin farklı ortamlara taşınmasında büyük kolaylık sağlar.
Eğer Laravel ile web uygulamaları geliştiriyorsanız, Migration ve Seeder’ları etkili bir şekilde kullanarak veritabanı yönetimini daha verimli hale getirebilirsiniz.
Wordpress ile ilgilenmeye başlamışsanız ve aklınızda güvenliği nasıl sağlayacağınız varsa, bu eklentimiz tam aradığınız türden.…
Dijital pazarlama stratejilerinde başarılı olmak için SEO (Arama Motoru Optimizasyonu), GEO (Coğrafi Optimizasyon) ve AEO…
Günümüzde bir web sitesi sahibi olmak, hem bireyler hem de işletmeler için oldukça önemli hale…
Web Sunucusu Nedir? Web sunucusu, kullanıcıların internet üzerinden bir web sayfasına erişmesini sağlayan güçlü bir…
İçerik oluşturmak kolaydır. Özellikle son zamanlarda gelişen yapay zeka sayesinde. Ancak insanların hatırladığı marka içeriği…
Perfex CRM, hızlı kurulumu ve sade arayüzüyle Türkiye’de giderek daha fazla tercih edilen, Codeigniter altyapısı…