Laravel 不能创建 migration 的问题

在 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 会报错:

[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.phpvendor/composer/autoload_static.php 这两个文件里加上新生成的类和文件的映射,因为有了这个映射, artisan 命令就没有再生成新的文件。

所以删除上面两个文件里的有 create_xxx_table 的行就可以解决这个问题。

或者再用 artisan 创建一个新的数据库迁移,这时会更新 composer 类和文件的映射。原来那个映射没有了,这时再创建先前那个 migration 也不会报错了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值