运行 在使用 Laravel 本地迁移时,如何 运行 在宅基地上迁移?
How to run migrate on homestead when running migrate locally with Laravel?
我必须 运行 通过 SShing 在 homestead box 上迁移:
homestead ssh
cd ~/Code/my-project
php artisan migrate
我更愿意在本地文件夹上 运行 migrate
并在来宾(虚拟)计算机上自动进行迁移 运行。
默认情况下,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 ssh -c "cd ~/Code/my-project; php artisan migrate; exit"
.
尝试从您的本地控制台运行进行测试。
如果可行,您只需为 "migrate" 创建一个 运行 上面的别名,仅此而已。
当您正确安装 Homestead 时,您必须有一个包含 Laravel 应用程序的本地目录。因此,无需输入 ssh 即可更改文件或 运行 artisan 命令。
您可以使用终端并转到 Laravel 应用程序的本地目录。从那里你可以使用 artisan 命令。使用简单的形式 "php artisan" 来查看它是否正常工作。
拥有这个本地应用程序目录(与 Homestead VM 中的相同)的诀窍是提前创建它并且 Laravel Homestead 的安装将填充该本地目录也。本地目录的名称必须位于文件夹部分的 Homestead.yaml 中,如下所示。
文件夹:
- 地图:d:/Homestead_Projects
至:/home/vagrant/code
由于您在本地 运行 php 脚本,因此您的计算机中必须安装 php 的更新版本。您也可以在本地计算机中安装本地 mysql 服务器。
当您进行本地数据库迁移时,您会更新本地数据库。如果你想更新 Homestead 内的数据库,你必须使用 ssh。
所以,你有两组不同的数据。如果您将 Laravel 应用程序代码与本地 Web 服务器一起使用,您可以使用本地数据库的数据。当您使用 Homestead (nginx) 的 Web 服务器时,您使用的是 Homestead 数据库数据。
为了拥有本地网络服务器 (localhost:8000),您可以 运行 "php artisan serve"。请记住让您的本地数据库处于活动状态。因此,您拥有相同的代码、相同的模式,但数据库中的数据不同。
这对我有用,我创建了一个数据库:laravel
并将 DB_PORT=3306
更改为 DB_PORT=33060
它成功了。
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=33060
DB_DATABASE=laravel
DB_USERNAME=homestead
DB_PASSWORD=secret
另请访问:https://laravel.com/docs/5.8/homestead#connecting-to-databases 获取有关
的文档
其实你在文档中也需要注意这部分:
从主机连接到数据库时,您应该只使用这些非标准端口。您将在 Laravel 数据库配置文件中使用默认的 3306 和 5432 端口,因为 Laravel 在虚拟机中是 运行。
Laravel 7 这对我有用。
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=sardar
DB_USERNAME=homestead
DB_PASSWORD=secret
我必须 运行 通过 SShing 在 homestead box 上迁移:
homestead ssh
cd ~/Code/my-project
php artisan migrate
我更愿意在本地文件夹上 运行 migrate
并在来宾(虚拟)计算机上自动进行迁移 运行。
默认情况下,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 ssh -c "cd ~/Code/my-project; php artisan migrate; exit"
.
尝试从您的本地控制台运行进行测试。
如果可行,您只需为 "migrate" 创建一个 运行 上面的别名,仅此而已。
当您正确安装 Homestead 时,您必须有一个包含 Laravel 应用程序的本地目录。因此,无需输入 ssh 即可更改文件或 运行 artisan 命令。
您可以使用终端并转到 Laravel 应用程序的本地目录。从那里你可以使用 artisan 命令。使用简单的形式 "php artisan" 来查看它是否正常工作。
拥有这个本地应用程序目录(与 Homestead VM 中的相同)的诀窍是提前创建它并且 Laravel Homestead 的安装将填充该本地目录也。本地目录的名称必须位于文件夹部分的 Homestead.yaml 中,如下所示。
文件夹: - 地图:d:/Homestead_Projects 至:/home/vagrant/code
由于您在本地 运行 php 脚本,因此您的计算机中必须安装 php 的更新版本。您也可以在本地计算机中安装本地 mysql 服务器。 当您进行本地数据库迁移时,您会更新本地数据库。如果你想更新 Homestead 内的数据库,你必须使用 ssh。 所以,你有两组不同的数据。如果您将 Laravel 应用程序代码与本地 Web 服务器一起使用,您可以使用本地数据库的数据。当您使用 Homestead (nginx) 的 Web 服务器时,您使用的是 Homestead 数据库数据。
为了拥有本地网络服务器 (localhost:8000),您可以 运行 "php artisan serve"。请记住让您的本地数据库处于活动状态。因此,您拥有相同的代码、相同的模式,但数据库中的数据不同。
这对我有用,我创建了一个数据库:laravel
并将 DB_PORT=3306
更改为 DB_PORT=33060
它成功了。
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=33060
DB_DATABASE=laravel
DB_USERNAME=homestead
DB_PASSWORD=secret
另请访问:https://laravel.com/docs/5.8/homestead#connecting-to-databases 获取有关
的文档其实你在文档中也需要注意这部分:
从主机连接到数据库时,您应该只使用这些非标准端口。您将在 Laravel 数据库配置文件中使用默认的 3306 和 5432 端口,因为 Laravel 在虚拟机中是 运行。
Laravel 7 这对我有用。
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=sardar
DB_USERNAME=homestead
DB_PASSWORD=secret