Ha van egy adminisztrátori projektje, amelynek nincs regisztrációs oldala, akkor mit fog tenni? Úgy értem, létre kell hoznia legalább egy adminisztrátor felhasználót. Tehát alapvetően be tud jelentkezni és hozzáfér a teljes adminisztrációs panelhez. De nincs a regisztrációs oldal az előlapon. csak a bejelentkezési oldalad van. Létrehozhat-e tehát egy adminisztrátori felhasználót közvetlenül az adatbázisból?, ha igen, mindig közvetlenül az adatbázisból kell új adminisztrátort létrehoznia, amikor létrehozza a projekt új konfigurációját. De azt javaslom, hogy hozzon létre admin seedert, hogy létrehozhasson admin felhasználót a laravel 8 seeder segítségével. Csak indíts parancsra a vetőgép futtatásához a laravel 8-ban.
Ugyanazok a dolgok, ha előre beállított konfigurációval rendelkezeldefinite, létrehozhat egy beállítási vetőt, és hozzáadhatja az előzetes konfigurációtdefinited az adatbázistáblába.
A Laravel egy egyszerű módszert kínál a tesztadatok adatbázisba történő bevitelére vetőosztályok segítségével. A Laravelben elhelyezheti adatbázisát, hogy tesztelési célból hamis adatokat adjon hozzá.
Először létrehozunk egy vetőgépet a következő paranccsal:
php artisan make:seeder UserSeeder
A parancs futtatása után lesz egy fájlunk UserSeeder.php a mappában seeds
. Az osztályok seed
a könyvtárban tárolódnak 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')
]);
}
}
Most nézzük meg, hogyan hívhatunk más vetőgépeket. A hívási metódus a DatabaseSeeder osztályon belül további magosztályok végrehajtására szolgál. Lehetővé teszi, hogy az adatbázis-vetést több fájlra ossza fel, hogy egyetlen vetőosztály se legyen túl nagy. A hívási metódus elfogadja a végrehajtandó vetőosztályok tömbjét.
<?php
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
public function run()
{
$this->call([
UserSeeder::class,
PostSeeder::class,
]);
}
}
Parancs futtassa a seeder
php artisan db:seed
Parancs a vetőgép egyenkénti futtatására
php artisan db:seed –class=UserSeeder
Ön is futtathatja a seeding
az adatbázisból a paranccsal migrate:fresh
opcióval kombinálva –seed
. Ez a parancs eldobja az összes táblát, újrafuttat minden áttelepítést, és újraépíti az adatbázist.
php artisan migrate:fresh --seed
Ercole Palmeri
Ön is tetszik:
Szemplasztikai műtétet végeztek az Apple Vision Pro reklámmegjelenítővel a Catania Poliklinikán…
A finom motoros készségek színezéssel történő fejlesztése felkészíti a gyerekeket olyan összetettebb készségekre, mint az írás. Kiszínezni…
A haditengerészeti szektor igazi világgazdasági hatalom, amely egy 150 milliárdos piac felé navigált...
Múlt hétfőn a Financial Times bejelentette, hogy megállapodást köt az OpenAI-val. Az FT engedélyezi világszínvonalú újságírását…