[英]Why is laravel migration failing silently?
我正在将一个12岁的无框架php应用程序转换为Laravel应用程序。 旧的应用程序有两个单独的用户表,我已经合并了它们。 合并它们需要按摩数据。 我创建了一个迁移来处理我的一个表中的数据。
我的up()函数如下所示:
public function up()
{
$users = User::all();
foreach($users as $user) {
if ($user->staff_id = '0') {
$user->role = '4';
} elseif ($user->role != '1') {
$user->role = '3';
}
$user->save();
}
}
在以前的迁移阶段,我运行了类似的功能,运行良好。 但是,此生成以下输出:
myusername at local in ~/Sites/tgdp/trunk
> mamp-php artisan migrate
myusername at local in ~/Sites/tgdp/trunk
>
当我查看迁移表和用户表时,很明显迁移尚未运行。
因此,回顾一下。 没有引发错误。 没有“没有要迁移的东西”。 没有成功回应。 对数据库没有影响。 *编辑:日志中未列出任何错误。
知道为什么会发生这种情况吗?
因此,事实证明,问题在于循环访问并保存所有这些用户非常占用内存。 解决方案是让php无限访问内存。 像这样:
php -d memory_limit=-1 artisan migrate
一旦我这样做,代码就可以正常运行了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.