在 Laravel 项目中,由于测试,有时候用 php artisan make:migration create_xxx_table 创建数据库迁移。如果把创建的迁移文件 database/migrations/2016_09_13_081736_create_xxx_table.php 文件给删除了,再次执行 php artisan make:migration create_xxx_table 会报错:
代码语言:javascript复制[ErrorException]
include(/data/wwwroot/tj.com/vendor/composer/../../database/migrations/2016_09_13_081736_create_xxx_table.php): failed to open stream: No such file or directory
重新运行 composer update 又可以执行上面的命令了。
经过对比发现,在执行 artisan 命令后,会在 vendor/composer/autoload_classmap.php 和 vendor/composer/autoload_static.php 这两个文件里加上新生成的类和文件的映射,因为有了这个映射, artisan 命令就没有再生成新的文件。
所以删除上面两个文件里的有 create_xxx_table 的行就可以解决这个问题。
或者再用 artisan 创建一个新的数据库迁移,这时会更新 composer 类和文件的映射。原来那个映射没有了,这时再创建先前那个 migration 也不会报错了。
以上这篇解决Laravel 不能创建 migration 的问题就是小编分享给大家的全部内容了,希望能给大家一个参考。