Veritabanı tohumlama - Database seeding - Wikipedia

Veritabanı tohumlama veri içeren bir veritabanının ilk tohumlanmasıdır. Bir veritabanının tohumlanması, kurulurken bir veritabanına ilk veri kümesinin sağlandığı bir işlemdir. Veritabanını gelecekte geliştirmek istediğimiz verilerle doldurmak istediğimizde özellikle yararlıdır. Bu genellikle bir uygulamanın ilk kurulumunun ardından yürütülen otomatik bir işlemdir. Veriler olabilir kukla veriler veya ilk yönetici hesabı gibi gerekli veriler.

Varlık Çerçevesi

Migrations Configuration.cs

halka açık sınıf ApplicationDatabaseInitializer : DropCreateDatabaseIfModelChanges<DbContext>{    korumalı geçersiz kılmak geçersiz Tohum(DbContext bağlam)    {        var Kullanıcı yöneticisi = yeni Kullanıcı yöneticisi<ApplicationUser>(yeni UserStore<ApplicationUser>(bağlam));        var RoleManager = yeni RoleManager<Kimlik Rolü>(yeni RoleStore<Kimlik Rolü>(bağlam));        var Kullanıcı adı = "Alice";        var parola = "şifre123";        var rol = "Yönetici";        // Mevcut değilse Yönetici rolü oluştur        Eğer (!RoleManager.RoleExists(rol))        {            RoleManager.Oluşturmak(yeni Kimlik Rolü(rol));        }        // Alice kullanıcısı oluştur        var kullanıcı = yeni ApplicationUser() { Kullanıcı adı = Kullanıcı adı; };        var sonuç = Kullanıcı yöneticisi.Oluşturmak(kullanıcı, parola);        // Yönetici rolüne kullanıcı Yöneticisi ekleyin        Eğer (sonuç.Başarılı)        {            var sonuç = Kullanıcı yöneticisi.AddToRole(kullanıcı.İD, rol);        }    }}

Symfony PHP Framework

AppBundle / DataFixtures / ORM / customer.yml (Sürüm 1'deki gibi hautelook / AliceBundle )

AppBundle  Entity  Kullanıcı:  müşteri_ {1..10}:    Kullanıcı adı: <username()>    e-posta: <safeEmail()>    PlainPassword: a harfi    roller: [ROLE_SUPER_ADMIN]    etkinleştirildi: doğru

Laravel PHP Framework

app / veritabanı / tohumlar / users.php

sınıf DatabaseSeeder genişler Ekme makinesi{    halka açık işlevi koşmak()    {        $ this->telefon etmek("UserTableSeeder");        $ this->komut->bilgi("Kullanıcı tablosu tohumlandı!");    }}sınıf UserTableSeeder genişler Ekme makinesi{    halka açık işlevi koşmak()    {        DB::masa('kullanıcılar')->sil();        Kullanıcı::oluşturmak(dizi("e-posta" => '[email protected]'));    }}

Dış bağlantılar