Giriş: Mimarın Mavi Çizimleri
Merhaba dostlar! Ben Uğurcan. LaraFreelancer serimizin 4. günündeyiz.
Eskiden veritabanı oluşturmak için phpMyAdmin'e girer, tek tek "id, ad, soyad" diye sütun açardık. Sonra projeyi sunucuya taşırken "Eyvah, hangi tabloyu oluşturmayı unuttum?" diye panik yapardık.
Laravel'de biz buna Migrations (Göçler) diyoruz. Migrations, veritabanınızın sürüm kontrol sistemidir. Yani veritabanı tablolarını kod yazarak oluştururuz.
Adım 1: Veritabanı Bağlantısı (.env)
Önce Laravel'i veritabanımıza tanıştıralım.
- XAMPP (veya kullandığınız servis) üzerinden MySQL'i başlatın.
- Tarayıcıda http://localhost/phpmyadmin adresine gidin.
- Sol menüden "Yeni" diyerek lara_freelancer adında boş bir veritabanı oluşturun. (İçine tablo açmayın!)
Şimdi VS Code'a dönün ve ana dizindeki .env dosyasını açın. Şu kısımları bulun ve güncelleyin:
Kod snippet'i
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=lara_freelancer DB_USERNAME=root DB_PASSWORD=
(Not: XAMPP varsayılan olarak şifresizdir. Eğer şifre koyduysanız DB_PASSWORD kısmına yazın.)
Adım 2: İlk Migration Dosyamızı Oluşturalım
Müşterilerimizi kaydedeceğimiz clients tablosunu tasarlayalım. Terminali açın:
php artisan make:migration create_clients_table
database/migrations klasörüne gidin. En altta yeni oluşan dosyayı göreceksiniz. Açın ve up fonksiyonunun içini şöyle doldurun:
public function up(): void
{
Schema::create('clients', function (Blueprint $table) {
$table->id(); // Otomatik artan ID
$table->string('name'); // Müşteri Adı
$table->string('email')->unique(); // Email (Benzersiz olacak)
$table->string('phone')->nullable(); // Telefon (Boş bırakılabilir)
$table->decimal('budget', 10, 2)->default(0); // Bütçe (Örn: 1500.50)
$table->timestamps(); // Created_at ve Updated_at tarihleri
});
}
Adım 3: Sihirli Komut (Migrate)
Şu an kodları yazdık ama veritabanında hala tablo yok. Tasarımı inşaata dökmek için terminale şu komutu yazın:
php artisan migrate
Ekranda yeşil yazılar gördüyseniz tebrikler! phpMyAdmin'e gidip lara_freelancer veritabanına bakarsanız, clients tablosunun ve Laravel'in kendi tablolarının (users, password_reset vb.) oluştuğunu göreceksiniz.
VS Code İpucu 💡
Migration dosyalarını yazarken $table-> dedikten sonra hangi veri tiplerinin olduğunu görmek için Ctrl + Space tuşlarına basarak VS Code'un size öneri sunmasını sağlayabilirsiniz.
Adım 4: Save Point (Git Commit)
Veritabanı şemamızı oluşturduk. Bunu kaybetmeyelim.
git add . git commit -m "Gün 4: Veritabanı bağlantısı yapıldı ve Clients tablosu oluşturuldu" git push
🎯 GÜNÜN GÖREVİ (Challenge)
Artık veritabanı mimarısısın!
- Terminalden projects (projeler) tablosu için bir migration oluştur.
- Tabloda şu sütunlar olsun:
- title (Proje başlığı - string)
- description (Açıklama - text)
- status (Durum - string, varsayılan değeri 'bekliyor' olsun)
- php artisan migrate komutunu çalıştırarak tabloyu oluştur.
- phpMyAdmin'den görüntüsünü al veya Migration kodunu yorumlara yapıştır. Kodunu kontrol edeceğim!