Veri Tabanı

Veri Tabanı

Factories Tanıtımı

Uygulamanızı test ederken veya veritabanınızı tohumlarken, veritabanınıza birkaç kayıt eklemeniz gerekebilir. Laravel, her bir sütunun değerini manuel olarak belirtmek yerine, model factories kullanarak Eloquent modellerinizin (opens in a new tab) her biri için bir dizi varsayılan özellik tanımlamanıza olanak tanır.

Bir factory nasıl yazılacağına dair bir örnek görmek için uygulamanızdaki database/factories/UserFactory.php dosyasına bakın. Bu factory, tüm yeni Laravel uygulamalarına dahildir ve aşağıdaki factory tanımını içerir:

namespace Database\Factories;

use Illuminate\Database\Eloquent\Factories\Factory;

use Illuminate\Support\Str;

class UserFactory extends Factory
{
    /**
     * Define the model's default state.
     *
     * @return array
     */
    public function definition()
    {
        return [
            'name' => fake()->name(),
            'email' => fake()->unique()->safeEmail(),
            'email_verified_at' => now(),
            'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
            'remember_token' => Str::random(10),
        ];
    }
}

Migrations Giriş

Migrations, veritabanınız için sürüm kontrolü gibidir ve ekibinizin uygulamanın veritabanı şeması tanımını tanımlamasını ve paylaşmasını sağlar. Bir ekip arkadaşınıza, değişikliklerinizi kaynak kontrolünden aldıktan sonra yerel veritabanı şemasına manuel olarak bir sütun eklemesini söylemek zorunda kaldıysanız, veritabanı geçişlerinin çözdüğü sorunla karşı karşıya kaldınız.

Laravel "Schema" facade (opens in a new tab), Laravel'in desteklediği tüm veritabanı sistemlerinde tablolar oluşturmak ve bunları değiştirmek için veritabanı agnostik desteği sağlar. Tipik olarak, migrations, veritabanı tablolarını ve sütunlarını oluşturmak ve değiştirmek için bu facade kullanır.

  • full_name kullanıcıların tam adlarını depolamak için kullanılabilir.
  • email kullanıcıların e-posta adresi bilgilerini depolamak için kullanılabilir.
  • phone kullanıcıların telefon numarası bilgilerini depolamak için kullanılabilir.
  • address kullanıcıların adres bilgilerini depolamak için kullanılabilir.
  • avatar kullanıcıların avatar bilgilerini depolamak için kullanılabilir.
  • email_verified_at kullanıcıların e-posta doğrulama bilgilerini depolamak için kullanılabilir.
  • password kullanıcıların şifre bilgilerini depolamak için kullanılabilir.
  • role kullanıcıların rol bilgilerini depolamak için kullanılabilir.
  • name isim bilgilerini depolamak için kullanılabilir.
  • code kısa kod bilgilerini depolamak için kullanılabilir.
  • description açıklama bilgilerini depolamak için kullanılabilir.
  • discount indirim bilgilerini depolamak için kullanılabilir.
  • start_date başlangıç tarihi bilgilerini depolamak için kullanılabilir.
  • end_date bitiş tarihi bilgilerini depolamak için kullanılabilir.
  • subject konu bilgilerini depolamak için kullanılabilir.
  • message mesaj bilgilerini depolamak için kullanılabilir.
  • token token bilgilerini depolamak için kullanılabilir.
  • src dosya yolu bilgilerini depolamak için kullanılabilir.
  • total_questions toplam soru bilgilerini depolamak için kullanılabilir.
  • correct doğru soru bilgilerini depolamak için kullanılabilir.
  • difficulty soru zorluk bilgilerini depolamak için kullanılabilir.
  • in_correct yanlış soru bilgilerini depolamak için kullanılabilir.
  • blank boş soru bilgilerini depolamak için kullanılabilir.
  • point puan bilgilerini depolamak için kullanılabilir.
  • content içerik bilgilerini depolamak için kullanılabilir.
  • price fiyat bilgilerini depolamak için kullanılabilir.
  • total toplam fiyat bilgilerini depolamak için kullanılabilir.
  • paid_at ödeme bilgilerini depolamak için kullanılabilir.
  • value değer bilgilerini (time, length vb.) depolamak için kullanılabilir.
  • key anahtar bilgilerini (value:time, key:1.5) depolamak için kullanılabilir.
  • is_active kullanıcıların aktiflik bilgilerini depolamak için kullanılabilir.
  • is_image_option resim veya yazı bilgilerini depolamak için kullanılabilir.
  • is_correct doğru veya yanlış bilgilerini depolamak için kullanılabilir.
  • is_default hizmetin fiyatının güncellendiği durumlarda kullanılabilir.
  • is_everyone herkese açık olup olmadığını depolamak için kullanılabilir.
  • passport_id kullanıcıların kimlik numaralarını depolamak için kullanılabilir.
  • parent_id sonsuz kategori kimliği bilgilerini depolamak için kullanılabilir.
  • country_id == countries kullanıcıların ülke bilgilerini depolamak için kullanılabilir.
  • city_id == cities kullanıcıların şehir bilgilerini depolamak için kullanılabilir.
  • state_id == states kullanıcıların ilçe bilgilerini depolamak için kullanılabilir.
  • language_id == Languages kullanıcıların dil bilgilerini depolamak için kullanılabilir.
  • user_id == users kullanıcı kimliği bilgilerini depolamak için kullanılabilir.
  • notification_id == notifications bildirim kimliği bilgilerini depolamak için kullanılabilir.
  • category_id == question_categories kategori kimliği bilgilerini depolamak için kullanılabilir.
  • question_id == questions soru kimliği bilgilerini depolamak için kullanılabilir.
  • exam_id == exams sınav kimliği bilgilerini depolamak için kullanılabilir.
  • payment_coupon_id == payment_coupons ödeme kuponu bilgilerini depolamak için kullanılabilir.
  • question_category_id == question_categories soru kategorisi bilgilerini depolamak için kullanılabilir.
  • condition_category_id == condition_categories kural kategorisi bilgilerini depolamak için kullanılabilir.

Schema

Veri Tabanı Schema (opens in a new tab) DBdiagram tarafından.