Laravel 使用 Lambda 迁移到 AWS RDS
Posted
技术标签:
【中文标题】Laravel 使用 Lambda 迁移到 AWS RDS【英文标题】:Laravel Migrate to AWS RDS using Lambda 【发布时间】:2021-11-26 19:42:17 【问题描述】:我希望在AWS Lambda
上部署一个Laravel
应用程序。该应用需要PostgreSQL
数据库访问权限。
这个想法是使用 Bref
在 AWS Lambda 上进行部署。我手动创建了一个 RDS PostgreSQL 数据库并更新了入站规则并将连接参数添加到应用中的 .env 文件和 serverless.yml 模板中。
部署应用程序后,我收到错误SQLSTATE[42P01]: Undefined table
。我相信问题是没有发生迁移。那么问题来了,如何从 Laravel/Lambda 迁移到 RDS?我应该使用工匠和 CLI 吗?或者有一种方法可以创建一种自动化的迁移方式?
谢谢
【问题讨论】:
【参考方案1】:当您不为 Postgresql 进行自定义设置时,默认情况下 sql 查询应该是这样的
SELECT * FROM database_name.table_name
有两个选项,或者您应该在所有 laravel 模型文件中指定表名,如下所示
protected $table = 'database_name.table';
或者您应该通过终端连接到 rds postgresql 并设置以下内容
SET search_path TO database_name,public;
postgresql schemas
【讨论】:
以上是关于Laravel 使用 Lambda 迁移到 AWS RDS的主要内容,如果未能解决你的问题,请参考以下文章
来玩 Serverless: 如何把 Express 应用迁移到 Amazon API 网关和 AWS Lambda 上
将 Laravel 迁移与 AWS Redshift 数据库一起使用