Merhaba arkadaşlar, bugünkü yazımda Laravel’de Migration ve Seeder kullanımı hakkında konuşacağım. Laravel, veritabanı işlemlerini kolaylaştıran birçok araç sunar. Migration ve Seeder’lar da bu araçların en önemlilerinden biridir. Gelin, bu konuyu birlikte inceleyelim.
Migration’lar, veritabanı tablolarını oluşturmak ve yönetmek için kullanılan bir yapıdır. Laravel’de migration’lar sayesinde, veritabanı şemasını kod olarak tanımlayabilir ve bu şemayı kolayca güncelleyebilirsiniz.
Yeni bir migration oluşturmak için aşağıdaki komutu kullanabilirsiniz:
php artisan make:migration create_products_table
Bu komut, database/migrations dizini altında yeni bir migration dosyası oluşturacaktır. Bu dosyayı açarak tablo sütunlarını tanımlayabilirsiniz:
public function up(){ Schema::create('products', function (Blueprint $table) { $table->id(); $table->string('name'); $table->text('description'); $table->decimal('price', 8, 2); $table->timestamps(); });}
Ardından, migration’ı çalıştırarak tabloyu oluşturabilirsiniz:
php artisan migrate
Seeder’lar, veritabanını test verileri ile doldurmak için kullanılan bir yapıdır. Laravel’de Seeder’lar sayesinde, veritabanını hızlıca doldurarak uygulamanızı test edebilirsiniz.
Yeni bir Seeder oluşturmak için aşağıdaki komutu kullanabilirsiniz:
php artisan make:seeder ProductSeeder
Bu komut, database/seeders dizini altında yeni bir Seeder dosyası oluşturacaktır. Bu dosyayı açarak test verilerini ekleyebilirsiniz:
public function run(){ DB::table('products')->insert([ 'name' => 'Ürün 1', 'description' => 'Bu bir test ürünüdür.', 'price' => 99.99, 'created_at' => now(), 'updated_at' => now(), ]);}
Ardından, Seeder’ı çalıştırarak veritabanını doldurabilirsiniz:
php artisan db:seed --class=ProductSeeder
Laravel’de Migration ve Seeder kullanımı, veritabanı işlemlerini kolaylaştıran ve geliştirme sürecini hızlandıran bir yapıdır. Eğer Laravel ile web geliştirme yapıyorsanız, bu araçları etkili bir şekilde kullanarak projelerinizi daha hızlı ve organize bir şekilde
tamamlayabilirsiniz. Bir sonraki yazımda, Laravel ile E-Ticaret Sitesi Nasıl Geliştirilir? konusuna değineceğim. Görüşmek üzere!