将Symfony应用程序本地数据库移动到Web

时间:2014-08-01 07:06:09

标签: symfony

我在我的本地系统(Windows 7& wamp)上开发了一个应用程序,它的工作正常,所以我决定将它部署到我的共享主机帐户

我在服务器上创建一个空数据库,然后导入我的本地数据库文件

但是如果尝试登录我的系统,我会收到表未找到错误,尽管表存在于数据库中

我收到如下错误

  

SQLSTATE [42S02]:找不到基表或视图:1146表   'ezwebsto_ezwoms.WomsLog'不存在“)   “AdminBundle:默认:home.html.twig

我怀疑这个问题是因为区分大小写的表名,所以重命名了表名但我仍然面临问题

任何人都可以指导我将symfony应用程序的本地数据库移动到web到p

的正确方法

2 个答案:

答案 0 :(得分:0)

尝试使用表注释在实体类中定义表名:

@ORM\Table(name="WomsLog")

同时确保你的表在DB中是正确的,W和L必须是大写的。

答案 1 :(得分:0)

默认情况下,Windows上的MySQL不区分大小写。在基于Unix的系统上它是。 最佳做法是在MySQL设置中打开区分大小写,并且将来移动数据库到服务器将很简单。

你必须设置变量

lower_case_table_names = 0

my.ini文件中。在Windows上,默认值为1

但是现在,你必须在每个实体中映射表名,就像写@prashant一样。请将表名与映射名进行比较,并在必要时重命名表。

更改后,您的实体应如下所示:

/**
 * Content
 *
 * @ORM\Table(name="content")
 * @ORM\Entity()
 */
class Content
{
    //some usefull code here
}