【发布时间】:2020-05-27 00:15:27
【问题描述】:
是否可以在没有 shell 的实际 Laravel 代码中运行 php artisan migrate:fresh?例如在此函数中加载表工厂之前。
Route::get('/seed', function () {
// php artisan migrate:fresh
factory(App\User::class)->create();
factory(App\Models\Campaign::class, 20)->create();
factory(App\Models\Model::class, 200)->create();
factory(App\Models\Trim::class, 400)->create();
factory(App\Models\Color::class, 800)->create();
factory(App\Models\Specification::class, 800)->create();
factory(App\Models\Option::class, 800)->create();
factory(App\Models\LeaseLength::class, 800)->create();
factory(App\Models\Mileage::class, 800)->create();
factory(App\Models\ExtraOption::class, 800)->create();
return redirect()->back();
});
这样做的目标是在再次播种之前清理表。
【问题讨论】:
-
是的,您阅读文档了吗? laravel.com/docs/6.x/…
-
你想从你的控制器或路由中运行 artisan 命令,而不需要 shell?
-
^ 没关系...我发布的链接实际上是说“例如,您可能希望从 路由或控制器触发 Artisan 命令。”。
Artisan外观在 Laravel 的任何地方都可用。 -
没问题!只是一个注释;小心你如何使用它。您可能不希望任何人都可以访问此路线...
php artisan migrate:fresh核对您数据库中的所有数据并重建它,并且在实际情况下应谨慎运行。通过一个简单的GET请求获得它会引发警告:) -
@TimLewis 是的!我目前拥有它,因为此应用程序仍处于早期开发阶段。 :)
标签: php mysql laravel laravel-artisan