Laravel 8 不要在包文件夹中运行迁移文件



在windows操作系统中运行"php artisan migrate"时:laravel migrate all file(根文件夹和软件包文件夹中的\database\migrations(。但在Linux操作系统中,只需迁移根文件夹\database\migrations中的文件。我在packages文件夹中有Database\migrations文件夹,并在服务提供程序类的函数boot((中使用loadMigrationsFrom方法。如何在Linux中迁移所有文件?

我认为现在唯一的方法是手动完成所有迁移。您必须在每个子文件夹上运行迁移命令:

php artisan migrate--path=数据库/迁移/文件夹名称*

或者您可以将其添加到AppServiceProvider:中的引导方法中

$mainPath=database_path('migrations'($directory=glob($mainPath.'/*',GLOB_ONLYDIR($paths=array_merge([$mainPath],$directories(;

$this->loadMigrationsFrom($paths(;

您可以为迁移函数(如(提供路径

php artisan migrate --path=database/migrations/packages

最新更新