artikels

Laravel Database Seeder

Laravel yntroduseart seeders foar it meitsjen fan testgegevens, nuttich foar it ferifiearjen fan it projekt, mei in admin-brûker en pre-gegevensdefiyn 'e databank opnommen.

As jo ​​​​in admin-projekt hawwe dat gjin oanmeldingsside hat, wat sille jo dan dwaan? Ik bedoel, jo moatte op syn minst ien admin-brûker oanmeitsje. Sa yn prinsipe kin hy oanmelde en tagong krije ta it heule adminpaniel. Mar jo hawwe de oanmeldside net oan 'e foarkant. do hast allinnich de oanmeldside. Sa kinne jo in admin-brûker direkt fan 'e database oanmeitsje?, as ja, dan moatte jo altyd direkt in nije admin-brûker fan 'e database oanmeitsje as jo in nije konfiguraasje fan jo projekt meitsje. Mar ik sil jo foarstelle om admin seeder te meitsjen sadat jo admin brûker kinne oanmeitsje mei laravel 8 seeder. Fjoer gewoan op kommando om seeder út te fieren yn laravel 8.

Deselde dingen, as jo pre-ynstellingskonfiguraasje hawwedefinite, kinne jo in ynstellings seeder meitsje en de pre-konfiguraasje tafoegjedefioan 'e database tabel.

Wat is Database Seeder yn Laravel

Laravel biedt in maklike metoade foar siedtestgegevens yn in database mei seederklassen. Jo kinne jo database yn Laravel siede om falske gegevens ta te foegjen yn jo database foar testdoelen.

Foarbyld fan Database Seeder yn Laravel

Earst meitsje wy in seeder mei it folgjende kommando:

php artisan make:seeder UserSeeder

Nei it útfieren fan it kommando, sille wy in bestân hawwe UserSeeder.php yn de map seeds. De klassen seed wurde opslein yn 'e map database/seeders.

namespace Database\Seeders;
 
use App\Models\User;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\Hash;
 
class UserSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        User::create([
            'name' => 'John Jackson',
            'email' => 'john@jackson.com',
            'mobile' => '123456789',
            'password' => Hash::make('john@123')
        ]);
    }
}

Litte wy no sjen hoe't wy oare seeders kinne neame. De opropmetoade wurdt brûkt om ekstra siedklassen út te fieren binnen de DatabaseSeeder-klasse. It lit jo jo database-sieding yn meardere bestannen splitse, sadat gjin inkelde seederklasse te grut wurdt. De opropmetoade akseptearret in array fan seederklassen dy't moatte wurde útfierd.

Ynnovaasje nijsbrief
Mis it wichtichste nijs oer ynnovaasje net. Meld jo oan om se fia e-post te ûntfangen.
<?php
  
use Illuminate\Database\Seeder;
   
class DatabaseSeeder extends Seeder
{
    public function run()
    {
         $this->call([
         UserSeeder::class,
         PostSeeder::class,
     ]);
    }
}

Kommando om de seeder

php artisan db:seed

Kommando om in seeder yndividueel út te fieren

php artisan db:seed –class=UserSeeder

Jo kinne ek rinne de seeding fan de database mei it kommando migrate:fresh yn kombinaasje mei de opsje –seed. Dit kommando lit alle tabellen sakje, alle migraasjes opnij útfiere en de databank opnij bouwe.

php artisan migrate:fresh --seed

Ercole Palmeri

Jo meie ek leuk fine:

Ynnovaasje nijsbrief
Mis it wichtichste nijs oer ynnovaasje net. Meld jo oan om se fia e-post te ûntfangen.

Recent articles

Veeam hat de meast wiidweidige stipe foar ransomware, fan beskerming oant antwurd en herstel

Coveware troch Veeam sil trochgean mei it leverjen fan antwurdtsjinsten foar cyberafpersing ynsidint. Coveware sil forensyske en sanearjen mooglikheden oanbiede ...

23 april 2024

Griene en digitale revolúsje: hoe foarsizzend ûnderhâld de oalje- en gassektor transformeart

Foarsizzend ûnderhâld revolúsjonearret de oalje- en gassektor, mei in ynnovative en proaktive oanpak foar plantbehear.…

22 april 2024

Britske anty-trustregulator makket BigTech alarm oer GenAI

De UK CMA hat in warskôging útjûn oer it gedrach fan Big Tech yn 'e merk foar keunstmjittige yntelliginsje. Dêr…

18 april 2024

Casa Green: enerzjyrevolúsje foar in duorsume takomst yn Itaalje

It Beslút "Case Green", formulearre troch de Jeropeeske Uny om de enerzjy-effisjinsje fan gebouwen te ferbetterjen, hat syn wetjouwingsproses ôfsletten mei ...

18 april 2024