我正在运行Homestead v8.2.0和laravel/homestead (virtualbox, 7.1.0)
和Vagrant 2.2.4。我需要升级,因为我想要PHP 7.4支持。
Laravel docs说首先要破坏无业游民的盒子是必要的,但是我知道我不想破坏我原来的盒子,因为我那里仍然有有价值的数据。因此,我想我只是尝试“更新”它,以防万一可能有效。
((我非常小心地not使用destroy
,因为我不想丢失任何MySQL数据库。)
[当我运行vagrant global-status
时,我看到了:
id name provider state directory
------------------------------------------------------------------------------
5620b14 vboxHomestead virtualbox running C:/code/Homestead
所以我用git签出Homestead的v10.2.0
。>
然后我跑了vagrant box update
。考虑到Laravel文档,我对这种方法不起作用并不感到惊讶。
于是我想了:我将在其旁边创建一个新框,而不是在当前框旁边进行[[updating
(仍然不会破坏旧框)。所以我将C:/code/Homestead
复制到了新目录C:/code/HomesteadB
。我已升级至Vagrant 2.2.7。我运行了vagrant box add laravel/homestead
,看到了新的laravel/homestead (virtualbox, 9.2.0)
(请注意更高的版本号)。我运行了vagrant up
,然后继续享受运行PHP 7.4的新功能。一切似乎都在计划之中。
稍后,当我受到启发回到原来的盒子并在那里恢复所有旧数据时,我注意到MySQL数据库丢失了!
但是这没有任何意义,因为我从未删除过它们。而且我从来没有破坏过这个盒子(我仍然可以在旧的vagrant up
和C:/code/Homestead
中运行vagrant ssh
)。而且我也认为vagrant box update
也不会删除MySQL数据库。
它们在哪里,我该如何找回它们?
我正在运行Homestead v8.2.0和laravel / homestead(virtualbox,7.1.0)和Vagrant 2.2.4。我需要升级,因为我想要PHP 7.4支持。 Laravel的文档说,摧毁无业游民的盒子...
vagrant box update
不执行全新,干净的mysql安装。在放弃所有希望之前,我会尝试一些事情: