【问题标题】:after deployment In Heroku Insert user not working在 Heroku 中部署后插入用户不起作用
【发布时间】:2021-12-30 21:12:02
【问题描述】:

我用 Laravel 8 制作了一个普通的 CRUD 应用程序,它在我的本地机器上运行良好,但是当我将它部署到 Heroku 上并尝试插入用户时,它给了我这个错误:

Illuminate\Database\QueryException:
SQLSTATE[42P01]: Undefined table: 7 ERROR:  relation "Utilisateurs" does not exist
LINE 1: select count(*) as aggregate from "Utilisateurs" where "emai...
                                      ^ (SQL: select count(*) as aggregate from 
"Utilisateurs" where "email" = heguwenepe@mailinator.com)

其他一切(编辑、更新、删除)似乎都运行良好

由于某种原因,它似乎也突出显示了我的控制器中的这种线条:

我尝试过的:

  • 重新运行迁移

  • 用“”替换''

验证规则:

"email" => "required|regex:/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix|unique:Utilisateurs"

【问题讨论】:

  • 您是否正在对电子邮件字段进行唯一验证?你能把你的验证规则显示为文本吗?
  • "email" => "必需|正则表达式:/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-] +)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix|unique:Utilisateurs",
  • 您的表名为Utilisateursutilisateurs ?
  • 将 Utilaseurs 更改为 utilisateurs 解决了这个问题,是的,我确实检查了表是否存在,但不是通过使用数据库客户端
  • 很高兴它成功了,祝你好运,继续享受 Laravel

标签: php laravel postgresql laravel-8


【解决方案1】:

您应该完全按照定义使用表名:utilisateurs 而不是Utilisateurs。大小写很重要,因为标识符在生成的 SQL 语句中用双引号引起来。

始终假设案例很重要,这样您以后遇到的问题就会更少。

【讨论】:

  • 得到了老板,谢谢!
猜你喜欢
  • 2021-09-04
  • 2017-04-09
  • 2021-04-30
  • 2015-12-22
  • 1970-01-01
  • 2018-04-19
  • 2016-02-22
  • 2019-01-23
  • 2019-04-28
相关资源
最近更新 更多