使用 Homestead 时持久化数据消失

Persisted data dissapears when using Homestead

有自定义 artisan 命令解析一些数据并将其写入 MySQL 数据库。我手动 运行nng 这个命令,所以没有任何 schedules 或 cron 作业。

保存数据后,我可以使用它一段时间。通常可在 10 到 20 分钟内使用。如果我在坚持后重新启动我的机器,我可以处理数据大约一个小时。之后table自己清空,就像我truncate一样。

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

DB::statement('truncate clauses');

但我不认为这是原因,因为 cron 没有 运行 这个命令或其他东西(即使它会,我得到 table 里面有正确的数据) .

所有其他 table 都照常保存数据。

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

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

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

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