Laravel 5.4 migrate: сбой генерации с ошибкой Way\Generators\Filesystem\FileNotFound

Я пытаюсь использовать Xethron/migrations-generator в проекте Laravel 5.4 для создания миграции файлы для всех таблиц в моей базе данных. Я следовал инструкциям в файле README для Laravel 5, чтобы письмо. После решения одной или двух жалоб (пришлось установить расширение 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  

Я сообщил об этой проблеме в Xethron на github и, по-видимому, не я единственный человек с такой проблемой.

Может ли кто-нибудь сказать мне, как заставить это работать? Я не особенно хорошо разбираюсь в Laravel или Composer, поэтому, пожалуйста, не скупитесь на основные объяснения. Я использую:

  • Убунту 16.04
  • PHP 7.0.15
  • Ларавель 5.4

person S. Imp    schedule 25.02.2017    source источник


Ответы (3)


Я была такая же проблема. Вам необходимо скопировать следующий файл в папку:

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

В эту папку (возможно, ее нет - так что вы можете либо создать папки, либо изменить файл конфигурации (config.php) в поставщике Xethron

/var/www/my-project/vendor/way/generators/src/Way/Generators/templates/

person J. Doe    schedule 25.02.2017
comment
@j-doe каталог пути не существует внутри каталога поставщика. Похоже, не хватает целого пакета - person S. Imp; 25.02.2017
comment
Это правильно. Он был создан для «laravel 4», поэтому зависимостей там нет. Поэтому, если вы хотите, чтобы это работало, следуйте инструкциям выше. - person J. Doe; 25.02.2017

Насколько я могу судить, ответ Дж. Доу по существу правильный. Я публикую здесь более полное решение, чтобы описать точные шаги, которые я предпринял для устранения проблемы.

По-видимому, что-то не так с кодом Xethron, поскольку он пытается обратиться к файлу шаблона PHP, который каким-то образом неправильно включен/не требуется пакетом Xethron. Мое краткосрочное решение, похоже, сработало. Это решение состоит в том, чтобы сначала перейти в рабочий каталог:

cd /var/www/my-project

затем создайте каталог, в котором должен находиться файл:

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

затем мы помещаем туда файл шаблона одним из двух способов. Один из способов, предложенный Дж. Доу, — загрузить файл с github (https://raw.githubusercontent.com/Xethron/Laravel-4-Generators/master/src/Way/Generators/templates/migration.txt) и сохраните его как < strong>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
person S. Imp    schedule 25.02.2017

Эта проблема была решена, просто запустите composer update, чтобы получить последнюю версию.

Приносим извинения за неудобства.

person Xethron    schedule 03.03.2017