Skip to main content

Laravel Artisan Komutları ile Veritabanı Yönetimi Kılavuzu ⚙️


💡 Bu Rehberde Ne Öğreneceksiniz

Bu rehberde, Laravel’in yerleşik komut satırı aracı Artisan kullanılarak veritabanı kayıtlarının nasıl yönetileceğini öğreneceksiniz. CLI (komut satırı) üzerinden ekleme, listeleme ve silme işlemleri yaparak, uygulamanızın yönetimini web arayüzü olmadan güvenli ve hızlı bir şekilde gerçekleştireceksiniz.


🧠 Teknik Özet

  • link:new → Yeni kayıt ekleme
  • link:list → Kayıtları tablo formatında listeleme
  • link:delete → Kayıt silme (ID ile)

Tüm işlemler Eloquent ORM kullanılarak yapılacak.


🔧 Adım 1: Yeni Kayıt Ekleme Komutu (link:new)

🛠 Komutu Üretme

php artisan make:command LinkNew

Bu komut app/Console/Commands dizininde LinkNew.php dosyasını oluşturur.

✏️ Komut Dosyasını Düzenleme

nano app/Console/Commands/LinkNew.php

💬 Girdi Alma ve Doğrulama

$url = $this->ask('Bağlantı URL\'si:');

if (!filter_var($url, FILTER_VALIDATE_URL)) {
$this->error("Geçersiz URL. İşlem iptal edildi.");
return 1;
}
$description = $this->ask('Bağlantı açıklaması:');

$this->ask() kullanıcıdan girdi alır, filter_var ile doğrulama yapılır.

💾 Veritabanına Kaydetme

if ($this->confirm('Bu bilgiler doğru mu?')) {
$link = new Link();
$link->url = $url;
$link->description = $description;
$link->save();
$this->info("Bağlantı başarıyla kaydedildi.");
}
return 0;

▶️ Komutu Çalıştırma

php artisan link:new

Komut sizden bağlantı bilgilerini isteyip veritabanına kaydeder.


🛠 Komutu Üretme

php artisan make:command LinkList

✏️ Komut Dosyasını Düzenleme

public function handle()
{
$headers = ['ID', 'URL', 'Açıklama'];
$links = Link::all(['id', 'url', 'description'])->toArray();
$this->table($headers, $links);
return 0;
}

$this->table() CLI çıktısını tablo biçiminde gösterir.

▶️ Komutu Çalıştırma

php artisan link:list

Kayıtları tablo biçiminde listeler.


❌ Adım 3: Kayıt Silme Komutu (link:delete)

🛠 Komutu Üretme

php artisan make:command LinkDelete

✏️ Zorunlu Argüman Tanımlama

protected $signature = 'link:delete {link_id}';

{link_id} parametresi, silinecek kaydın ID’sini belirtir.

💣 Silme İşlemini Uygulama

public function handle()
{
$link_id = $this->argument('link_id');
$link = Link::find($link_id);

if ($link === null) {
$this->error("Geçersiz veya mevcut olmayan bağlantı ID'si.");
return 1;
}

if ($this->confirm("{$link->url} bağlantısını silmek istediğinize emin misiniz?")) {
$link->delete();
$this->info("Bağlantı silindi.");
}

return 0;
}

▶️ Komutu Çalıştırma

php artisan link:delete 3

ID’si 3 olan kaydı siler.


❓ Sıkça Sorulan Sorular (SSS)

1. Artisan komutları neden tercih edilir?

CLI tabanlı işlemler daha güvenlidir, çünkü yalnızca sunucuya erişimi olan kullanıcılar çalıştırabilir.

2. Argüman ({link_id}) ile Seçenek (--option) farkı nedir?

Argümanlar zorunlu değerlerdir, seçenekler ise isteğe bağlıdır ve komutun davranışını değiştirir.

3. Komutum php artisan list içinde görünmüyor, neden? Eğer komut App\Console\Kernel.php dosyasındaki $commands dizisine eklenmediyse, listede görünmeyebilir.

4. Artisan komutları web formlarına göre neden daha güvenli?

Çünkü SSH erişimi gerektirir; dış tarayıcı erişimine açık değildir.

5. Docker ortamında da kullanılabilir mi?

Evet.

docker-compose exec app php artisan link:list

🏁 Sonuç

Artisan komutları, Laravel uygulamanızın yönetimini terminal üzerinden kolay ve güvenli hale getirir. Bu yöntemle veritabanı kayıtlarını web arayüzü olmadan profesyonel biçimde yönetebilirsiniz.

Rabisu Bulut platformunda Laravel uygulamanızı hemen test ederek Artisan komutlarını deneyin! 🚀