Bagaimana untuk menjalankan populator data selepas berjaya membuat jadual dalam aplikasi Laravel?
P粉764785924
P粉764785924 2024-03-30 19:16:25
0
1
472

Saya sedang membangunkan aplikasi blog dalam Laravel 8.

Saya sedang bersiap untuk menggunakan ia pada pelayan langsung, dan saya mahu proses penempatan menjadi sangat mesra pengguna.

Untuk melakukan ini, saya telah membangunkan "pemasang" untuk aplikasi:

Dalam routesweb.php Saya ada:

Route::get('/install', [InstallController::class, 'index']);

Dalam appHttpControllersInstallController.php Saya mempunyai kod ini untuk menjalankan migrasi jika tiada pengguna jadual:

class InstallController extends Controller
{
    public function index() {
      if (!Schema::hasTable('users')) {
        Artisan::call('migrate'); 
      } 
      return redirect('/register')->with('success', 'Way to go! You can create an account.');
    }
}

Kod di atas berfungsi, semua jadual dibuat dan pengguna (pertama) dijemput untuk mendaftar.

Soalan

Masalahnya ialah saya tidak menemui cara untuk meminta pengawal menjalankan pembiakan pangkalan data selepas berjaya mencipta jadual.

Bagaimana untuk mencapai ini dengan cara yang mudah dan mesra?

P粉764785924
P粉764785924

membalas semua(1)
P粉921165181

Anda boleh melakukan ini dengan berlari php artisan db:seed 或通过 Artisan 外观来完成此操作,例如 Artisan::call('db:seed');

Kod anda ialah:

class InstallController extends Controller
{
    public function index() {
      if (!Schema::hasTable('users')) {
        Artisan::call('migrate');
        Artisan::call('db:seed'); 
      } 
      return redirect('/register')->with('success', 'Way to go! You can create an account.');
    }
}

Sumber: https://laravel.com/docs/9.x/seeding#running-seeder

Walau bagaimanapun, saya mengesyorkan agar anda tidak menggunakan laluan ini dan sebaliknya mencipta skrip penggunaan yang akan melakukan semua ini untuk anda. Oleh itu, anda mendedahkan laluan ini kepada semua pengguna yang akan menggunakan aplikasi dan pengguna berniat jahat boleh mengeksploitasinya.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan