Миграция Laravel 5.4: генерировать сбои с ошибкой Way\Generators\Filesystem\FileNotFound

Я пытаюсь использовать https://github.com/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, поэтому, пожалуйста, не экономьте на основных объяснениях. Я использую:

  • Ubuntu 16.04
  • PHP 7.0.15
  • Laravel 5.4

3 ответа

Решение

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

Похоже, что-то не так с кодом 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) и сохраните его как файл igration.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

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

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

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

/ Вар / WWW / мой-проект / поставщик / путь / генераторы / SRC / Way / Генераторы / шаблоны /

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

Извиняюсь за неудобства.

Другие вопросы по тегам