如何连接Laravel Vapor数据库进行本地开发?

问题描述 投票:0回答:2

我使用 Laravel Vapor 进行无服务器部署,使用 Laravel Valet 进行本地开发。我在 Vapor 上选择了一个私有无服务器数据库,并在 Vapor 中创建了一个“jumpbox”,以便在其他应用程序中通过 SSH 与该数据库连接。但是如何连接到 Laravel 应用程序中的数据库进行本地开发呢?当我使用 Valet 查看我的应用程序时,例如“website.test”,我收到连接错误,因为我的数据库连接未在 .env 文件中设置。 Jumpbox 提供了用户名和密码,还提供了 SSH 密钥,但我不知道如何将其包含在我的 .env 文件中,以便可以在本地进行连接。

laravel serverless laravel-valet laravel-6
2个回答
1
投票

您可以使用 ssh 创建一个到服务器的本地管道,并将远程数据库端口映射到您的本地端口之一,这样 MySQL 就会看起来像在本地工作,您可以只使用

localhost
和您在
 中选择的端口.env

您需要搜索如何在您的特定系统中进行映射,但这称为 SSH 端口转发,并且实现起来并不难。


0
投票

您可以使用 Vapor CLI 工具创建 SSH 隧道。

vapor team:list
vapor team:switch --id 12345
vapor database:list
vapor database:tunnel db-name 33060
mysql --user=vapor --host=127.0.0.1 --port=33060 --password=THEDBPASSWORD -e "USE vapor; SELECT * FROM mytable;"
© www.soinside.com 2019 - 2024. All rights reserved.