我必须通过SShing在宅基地箱上进行迁移:
homestead ssh
cd ~/Code/my-project
php artisan migrate
我更喜欢在本地文件夹上运行migrate
,并自动在guest虚拟机(虚拟)上运行迁移。
默认情况下,Laravel使用localhost作为数据库主机,只需转到homestead.yaml文件并检查第一行的IP地址(可能是=> ip:“192.168.10.10”)。在.env文件中使用此IP作为主机:
在.env文件中使用:DB_HOST=192.168.10.10
而不是DB_HOST=localhost
它必须有效。
PS:Homestead还重定向端口,因此您可能需要将数据库的端口更改为:33060
在.env文件中,使用:DB_PORT=33060
,而不是DB_PORT=3306
但是,首先检查第一个配置。
最好的祝愿。
正确安装Homestead后,您必须具有Laravel应用程序的本地目录。因此,无需输入ssh即可更改文件或运行artisan命令。
您可以使用终端并转到Laravel应用程序的本地目录。从那里你可以使用工匠命令。使用简单的形式“php artisan”看它是否正常工作。
拥有此本地应用程序目录(与Homestead VM中的目录相同)的技巧是提前创建它,Laravel Homestead的安装也将填充该本地目录。本地目录的名称必须位于文件夹部分的Homestead.yaml中,如下所示。
文件夹: - map:d:/ Homestead_Projects:/ home / vagrant / code
由于您在本地运行PHP脚本,因此必须在计算机中安装更新版本的php。您也可以在本地计算机上安装本地mysql服务器。执行本地数据库迁移时,您将更新本地数据库。如果要更新Homestead内的数据库,则必须使用ssh。因此,您有两组不同的数据。如果将Laravel应用程序代码与本地Web服务器一起使用,则可以使用本地数据库的数据。当您使用Homestead(nginx)的Web服务器时,您将使用Homestead数据库数据。
为了拥有本地Web服务器(localhost:8000),您可以运行“php artisan serve”。记住要激活本地数据库。因此,您拥有相同的代码,相同的架构,但数据库中的数据不同。
您正在寻找的命令是:homestead ssh -c "cd ~/Code/my-project; php artisan migrate; exit"
。
尝试从本地控制台运行它以进行测试。
如果它可以工作,你只需要为运行上面的“迁移”创建一个别名,就是这样。