저는 Laravel 8에서 블로그 애플리케이션을 개발 중입니다.
라이브 서버에 배포하려고 준비 중인데 배포 프로세스가 매우 사용자 친화적이기를 바랍니다.
이를 위해 저는 애플리케이션용 "설치 프로그램"을 개발해 왔습니다.
In routesweb.php
내가 가지고 있는 것:
In appHttpControllersInstallController.php
마이그레이션을 실행하기 위해 이 코드가 있습니다 사용자가 없는 경우 테이블:
위 코드가 작동하면 모든 테이블이 생성되고 (첫 번째) 사용자가 등록하도록 초대됩니다.
문제는 테이블을 성공적으로 생성한 후 컨트롤러가 데이터베이스 시더를 실행하도록 하는 방법을 찾지 못했다는 것입니다.
P粉9211651812024-03-31 09:43:48
다음을 실행하여 이 작업을 수행할 수 있습니다. php artisan db:seed
或通过 Artisan
外观来完成此操作,例如 Artisan::call('db:seed');
귀하의 코드는 다음과 같습니다:
으아아아출처: https://laravel.com/docs/9.x/seeding#running-seeder
하지만 이 경로를 따르지 않고 대신 이 모든 작업을 수행할 배포 스크립트를 만드는 것이 좋습니다. 따라서 애플리케이션을 사용할 모든 사용자에게 이 경로가 노출되고 악의적인 사용자가 이를 악용할 수 있습니다.