Laravel 5.4迁移:使用Way \ Generators \ Filesystem \ FileNotFound错误生成失败

时间:2017-02-25 02:03:21

标签: php laravel laravel-5.4 laravel-migrations

我正在尝试在Laravel 5.4项目中使用Xethron/migrations-generator,以便为我的数据库中的所有表生成迁移文件。我按照Laravel 5的README文件中的说明进行了处理。在解决了一两个投诉后(必须安装php7.0-xml扩展名),我尝试运行它,但它会发出错误,如下所示:

$ php artisan migrate:generate
Using connection: mysql

Generating migrations for: group_product_assoc, groups, product_hierarchy_assoc, product_product_assoc, products, replist, sessionsOLD, stores, tree, users, zipcode_coordinates

 Do you want to log these migrations in the migrations table? [Y/n] :
 > n

Setting up Tables and Index Migrations


  [Way\Generators\Filesystem\FileNotFound]                                               
  /var/www/my-project/vendor/way/generators/src/Way/Generators/templates/migration.txt  

我已经在github上向Xethron报告了此issue,显然我并不是唯一遇到此问题的人。

有谁能告诉我如何让这个工作?我对Laravel或Composer不是特别流利,所以请不要吝啬基本的解释。我正在使用:

  • Ubuntu 16.04
  • PHP 7.0.15
  • Laravel 5.4

3 个答案:

答案 0 :(得分:2)

我有同样的问题。您需要将以下文件复制到该位置:

https://github.com/Xethron/Laravel-4-Generators/tree/master/src/Way/Generators/templates/migration.txt

在此文件夹中(可能,这不存在 - 因此您可以在供应商Xethron中创建文件夹或更改配置文件(config.php)

在/ var / WWW /我的项目/供应商/方法/发电机/ src目录/路/发电机/模板/

答案 1 :(得分:2)

学家就我所知,Doe的回答基本上是正确的。我在这里发布了一个更完整的解决方案来描述我为解决这个问题所采取的确切步骤。

显然,Xethron代码存在问题,因为它试图引用一个PHP模板文件,该文件在某种程度上未被Xethron软件包正确包含/要求。我的短期解决方案似乎奏效了。该解决方案是首先进入工作目录:

cd /var/www/my-project

然后创建文件所在的目录:

mkdir -p vendor/way/generators/src/Way/Generators/templates

然后我们以两种方式之一将模板文件放在那里。正如J. Doe所建议的那样,一种方法是从github( https://raw.githubusercontent.com/Xethron/Laravel-4-Generators/master/src/Way/Generators/templates/migration.txt)下载该文件,并将其保存为我们刚才创建的目录中的 migration.txt 。或者您可以进入工作目录并执行以下命令:

curl https://raw.githubusercontent.com/Xethron/Laravel-4-Generators/master/src/Way/Generators/templates/migration.txt > vendor/way/generators/src/Way/Generators/templates/migration.txt

另一种方法是复制模板文件,该文件显然位于xethron包的子目录中:

cp vendor/xethron/laravel-4-generators/src/Way/Generators/templates/migration.txt vendor/way/generators/src/Way/Generators/templates/migration.txt

一旦该文件存在于该位置,您应该能够顺利地再次运行该命令:

php artisan migrate:generate

答案 2 :(得分:1)

此问题已得到解决,只需运行composer update即可获取最新版本。

抱歉给您带来不便。