Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Yazı Tipi BoyutlandırıcıAa
  • Anasayfa
  • Teknoloji
    • Siber Güvenlik
    • Yapay Zeka
    • Donanım
    • Bilim
  • Yazılım
  • Savunma & İstihbarat
  • Oyun
  • Yaşam
    • Finans
    • Sinema
    • Dünyadan Haberler
  • İş Birliği
Okuma: Kod Referanslarını Göçlerinizden Çıkarın
Paylaş
Yazı Tipi BoyutlandırıcıAa
Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Ara
Bizi Takip Et
  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti
© 2026 Teknomers. All Rights Reserved.

Anasayfa » Kod Referanslarını Göçlerinizden Çıkarın

Yazılım

Kod Referanslarını Göçlerinizden Çıkarın

teknomers
Son güncelleme: 1 Şubat 2026 15:25
teknomers
Paylaş
Paylaş


TL;DR

Kısa bir özetle, migration dosyalarınızda business layer’ınızı referans almayın.

Migrations, veritabanı geçmişinizin değişmez anlık görüntüleri olmalıdır; gelişen uygulama koduna bağımlı olmamalıdır.

❌ Bad (breaks if enum class changes or is removed)

$table->enum('role', array_column(Can::cases(), ));
✅ Good (enum values explicitly defined, stable and independent)

$table->enum(, [, ]);


Tümünü Oku

Bir modelde enum değerleri tanımladığımızda, kullanıcıya bir seçim yapabilmesi için enum sınıfını referans alarak bu değerleri kaynak üzerinde göstermek iyi bir pratiktir. Bu şekilde, aynı değerleri tüm projede (backend, frontend) yazmak zorunda kalmazsınız. Aşağıda örnek bir kullanım verilmiştir:

// app/Enums/Role.php
enum Role: string
{
    case Admin = ;
    case Moderator = ;
    case User = ;
}
{{-- resources/views/users/form.blade.php --}}

Bu iyi bir yaklaşımdır, değil mi? Eğer enum üzerinden bu değerleri göstermek yerine, projenin her yerinde aynı değerleri yeniden yazmayı deneseydiniz, hiç de hoş olmazdı.


Neden Migrations Farklıdır?

Migrations, uygulama kodunuz gibi değildir; veritabanınızın zaman içinde nasıl evrildiğinin tarihi kayıtlarıdır. Bir migration üretim ortamında çalıştırıldıktan sonra asla değiştirilmeyecek şekilde tasarlanmalıdır.


Migrations, veritabanı changelog’unuz olmalıdır

  • Her zaman dilimi boyunca şema değişikliklerini belgeler
  • Dinamik referanslar ile bu belgeleri kaybedersiniz
  • Migrations’a bakarak şemanın nasıl evrildiğini anlamak mümkün olmaz


Kırılganlık

  • Bugün: Role enum’u admin ve user değerlerine sahiptir
  • Migration çalıştırılır: Bu değerlerle birlikte kolon oluşturulur, her şey yolunda ✓
  • 6 ay sonra: Role enum’u UserRole olarak yeniden adlandırılır ya da tamamen silinir
  • Yeni bir geliştirici migrations’ı çalıştırır: 💥 Fatal error – Role class not found


Sonuç Olarak

  • Eski migrations’ları düzenleme zorunluluğu doğar
  • Ek iş yükü yaratır
  • Hata riski artırır


Bonus

Ayrıca, foreignIdFor() kullanımından kaçının çünkü bu, migration’ı doğrudan bir model ile ilişkilendirir. Eğer o model silinirse veya yeniden adlandırılırsa, migration geçersiz duruma gelir.

Bu kadar, arkadaşlar.

Kaynak: Orijinal Makale

Contents
  • TL;DR
  • Tümünü Oku
  • Neden Migrations Farklıdır?
    • Migrations, veritabanı changelog’unuz olmalıdır
    • Kırılganlık
    • Sonuç Olarak
  • Bonus
JWT’leri Yerel Depolamada Saklamayı Durdurun: HttpOnly Cookie Mimarisi 🛡️ – DEV Community
DDEV, Laravel ve Go API’yi Nasıl İletişime Geçirdik: Sidecar Yaklaşımı
Laravel AI SDK ile Dinamik Open Graph Görselleri Üretme Kılavuzu
Inertia.js ve Vue/React ile Deploynix: SSR Kurulumu ve Yapı Pipeline’ı
Billmora ile Tanışın: WHMCS ve Blesta için modern, açık kaynak bir alternatif
Bu Makaleyi Paylaş
Facebook Bağlantıyı Kopyala Yazdır
Paylaş
Önceki Makale Cassette Boy Dünyasını Yeniden Keşfetmeye Hazır Mısınız?
Sonraki Makale 2025 Sistem Raporunda Intel ve AMD Eşit Güvenilirlikte, Nvidia Önde

Sanal Medya

FacebookBeğen
452Takip Et
PinterestSabitle
237Takip Et

Son Eklenenler

Renkli Yedek Parçalarla MacBook Neo’yu Kişiselleştirdim
Liste
OpenAI ve Anthropic: Rekabetteki Yatırımcıların Gizli Birlikteliği
Genel
Elegoo’nun Emoji markasıyla sıradışı 3D yazıcı iş birliği 489$
Donanım
Valorant Oyuncuları Oyun İçi DDoS Saldırılarıyla Karşılaşmakta
Oyun
Porsche Cayenne Coupe Turbo 911 Sahiplerini Endişelendirecek mi?
Liste
2026 EveryPlate Yemek Kiti İncelemesi: Uygun Fiyat, Kolaylık ve Lezzet
Genel
//

Siber güvenlik, yapay zeka ve savunma sanayiinden; finans ve sinema dünyasına uzanan geniş bir yelpaze. Teknomers; teknoloji, strateji ve yazılım dünyasını sade bir dille sizlerle buluşturuyor.

Kurumsal

  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti

Kategoriler

  • Teknoloji
  • Oyun
  • Sinema
  • Siber Güvenlik
  • Bilim
  • Finans
  • Dünyadan Güncel Haberler

Populer

  • TV'de Ücretsiz İzlenebilen Şifresiz Erotik Kanallar (2025 Güncel Frekans Listesi)

  • The Last of Us PC Kontrolleri: Hızlı Silah Değiştirme ve Tüm Tuşlar (2025)

  • Hogwarts Legacy'de Odaklanma İksiri Nasıl Yapılır?

Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Bizi Takip Et
© 2026 Teknomers. All Rights Reserved.
Welcome Back!

Sign in to your account

Kullanıcı Adı veya E-posta Adresi
Şifre

Şifrenizi mi unuttunuz?