使用Homestead

时间:2016-05-06 11:55:04

标签: mysql laravel vagrant homestead artisan

有自定义artisan命令可解析某些数据并将其写入MySQL数据库。我手动运行此命令,因此没有任何schedules或cron作业。

保存数据后,我可以使用它一段时间。通常它可以在10到20分钟之间使用。如果我在持久化后重新启动计算机,我可以处理数据一小时。在该表自行清空后,就像我truncate一样。

我的自定义命令在其构造函数中有truncate命令,因此解析器清除表并重新填充它:

DB::statement('truncate clauses');

但我不认为这是原因,因为cron没有运行此命令或其他东西(即使它会,我会在其中获得包含正确数据的表格)

所有其他表都像往常一样保存数据。

我想知道导致这种奇怪行为的原因是什么?

我的环境:新鲜的Laravel 5.2.31,Homestead,Vagrant 1.8.1。

1 个答案:

答案 0 :(得分:1)

artisan命令构造应用程序中的所有现有命令,而不管它执行的实际命令是什么。如果你在构造函数中有截断,那么每次cron击中工匠时,或者你执行简单的artisan route:list或任何其他工匠命令时都会运行。

要对此进行测试,只需在构造函数中创建一个简单的命令exit并运行artisan list