cari

Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk menjalankan populator data selepas berjaya membuat jadual dalam aplikasi Laravel?

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粉764785924P粉764785924237 hari yang lalu435

membalas semua(1)saya akan balas

  • P粉921165181

    P粉9211651812024-03-31 09:43:48

    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.

    balas
    0
  • Batalbalas