如何覆盖laravel voyager迁移文件?

时间:2019-03-04 18:52:50

标签: laravel voyager

当前,我在laravel项目之一中使用laravel voyager,我的问题是voyager附带了一些现成的迁移文件,这些迁移文件有时会导致与我自己的迁移文件发生冲突,尤其是与创建users表有关的冲突时,我可以修改voyager迁移文件吗?检查该文档仅告诉我如何覆盖视图和控制器,而与迁移文件无关。有人可以提供完成此任务所需采取的步骤吗?

1 个答案:

答案 0 :(得分:1)

您可以使用artisan vendor:publish发布它们,然后删除/修改所需的内容。

但是,有时库不允许您发布所有文件。我启动了一个快速项目,旅行者似乎就是这种情况。显然,您只能发布虚拟迁移。在这种情况下,我只能看到3种可能的方式:

  1. 解决冲突。这将是更简单,更干净的方法。
  2. 手动将迁移vendor/tcg/voyager/migrations复制到database/migrations,并使用php artisan migrate 之前 php artisan voyager:install
  3. 分叉库并进行更改。不是最好的,您将必须维护您的fork和应用程序。
  4. 手动将迁移vendor/tcg/voyager/migrations复制到database/migrations,然后extend/override vendor/tcg/voyager/src/VoyagerServiceProvider.php强制注册迁移。但我不建议这样做,因为如果进行较小的更新可能会破坏您的应用程序。

其他警告,其中包含第2 3和4点:如果确实要更改,例如如果是Voyager列名,则库可能会使用库中的列名,您可能会遇到其他问题。我相信您应该适应您的迁移和您的代码库。