Миграция 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
Я была такая же проблема. Вам необходимо скопировать следующий файл в папку:
В этой папке (возможно, она не существует - так что вы можете либо создать папки, либо изменить файл конфигурации (config.php) в вендоре Xethron
/ Вар / WWW / мой-проект / поставщик / путь / генераторы / SRC / Way / Генераторы / шаблоны /
Эта проблема была решена, просто запустите composer update
чтобы получить последнюю версию.
Извиняюсь за неудобства.