2017-02-15 103 views
0

然而,作为Symfony项目的一部分,我想使用原则会话(来自https://packagist.org/packages/shapecode/doctrine-session-handler-bundle),我正在使用已经存在的(从另一个来源以及Symfony项目填充的)数据库。我只是想在那里添加表来进行会话。作为文档的一部分,我应该运行代码:如何在Doctrine/Symfony数据库中更新1个表格?

php bin/console doctrine:schema:update --force 

但是,回来了:

[Doctrine\DBAL\Driver\OCI8\OCI8Exception] 
ORA-00955: name is already used by an existing object 

所以我想用这个方法只更新什么是必需的会话。这可能吗?

+3

检查你的学说实体,你很可能试图创建两个同名的表。看看这个包,Entity文件夹中有一个Session类。也许你有一个名字为“session”的同名或表名注解的类? – SebastianGreen

+0

但是,这是真实的,因为我无法控制此项目中主表的数据库,我只想让教条创建会话表,我将手动处理其余的部分。我猜想另一个选项是手动创建会话表,并且不要让Doctrine对表创建或更新做任何事情。 – MicWit

回答

0

你似乎在评论中提到你有一个session表。

如果你这样做,那么它会失败,因为这个包试图创建session表。因为“会话”可以是保留字,所以似乎也有一些数据库驱动程序出现问题。

有一个非常新的open issue相关....哦,它是你打开它!

希望你现在已经找到了你的问题的根源。

+0

是的,我意识到这个问题,但这不是强制更改数据库的问题。我有意见(需要我多说),我从中获得的意愿当然是单向信息流。当你试图强制更改数据库时,它希望每件事都成为一张表。我只是想手动处理所有视图,并且只映射一个表(现在在dev 2.0中已修复而不是会话),以便其余部分可以按原样操作,如果需要,我可以手动更改它们。 – MicWit

相关问题