【问题标题】:Symfony 2 run on server table name errorSymfony 2 在服务器表名错误上运行
【发布时间】:2023-03-04 14:53:01
【问题描述】:

我试图在服务器上运行 symfony 2 应用程序,但出现错误:

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'Slider' 
doesn't exist

但表存在于数据库中。事情是表名是'slider'而不是'Slider'。 I dont want to change names of all tables. 有什么解决办法吗?

【问题讨论】:

    标签: php mysql database doctrine symfony


    【解决方案1】:

    您必须重命名所有表以匹配实体名称,或者您可以更改实体中的定义:

    /**
     * @ORM\Entity
     * @ORM\Table(name="foo")
     */
    class Foo
    {
    }
    

    【讨论】:

    • 我已经这样做了。但现在我很好奇,还有其他更快的解决方案。
    • 所以这是一个 MySQL 问题。试试看这个文档dev.mysql.com/doc/refman/5.0/en/…
    【解决方案2】:

    您可能已经在 Windows 或 OSX 等不区分大小写的操作系统上开发了应用程序,现在部署到 linux 服务器上,对吗?防止这种情况发生的唯一方法是在实体类中定义表名,并使用 Table 注释:

    @ORM\Table(name="Slider")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-02
      • 2014-10-13
      • 2020-03-21
      • 1970-01-01
      • 1970-01-01
      • 2018-06-26
      相关资源
      最近更新 更多