2017-02-15 10 views
0

Я хочу использовать сеансы доктрины (от https://packagist.org/packages/shapecode/doctrine-session-handler-bundle), однако, как часть проекта Symfony, я использую уже существующую (заполненную из другого источника, а также базу данных Symfony) базу данных. Я просто хочу добавить таблицу туда, чтобы делать сеансы. В рамках документации, я должен запустить код:Как обновить 1 таблицу в базе данных в Doctrine/Symfony?

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

Однако, что возвращается с:

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

Так что я хочу использовать этот метод, чтобы обновлять только то, что требуется для сессий. Это возможно?

+3

Проверьте свои сущности doctrine, вы, скорее всего, пытаетесь создать две таблицы с тем же именем. Взглянув на пакет, в папке Entity есть класс Session. Может быть, у вас есть класс с тем же именем или табличной аннотацией с именем «session»? – SebastianGreen

+0

Это правда, однако, потому что я не контролирую базу данных для основных таблиц в этом проекте, я просто хочу, чтобы доктрина создала таблицу сеансов, и я буду вручную заниматься остальными. Другой вариант, который, я думаю, вручную создает таблицу сеанса и не позволяет Doctrine делать что-либо с созданием или обновлением таблицы. – MicWit

ответ

0

Вы, кажется, упоминали в комментариях, что у вас есть таблица session.

Если вы это сделаете, это провалится, потому что этот комплект пытается создать таблицу session. Также возникают проблемы с некоторыми драйверами баз данных, поскольку «сеанс» может быть зарезервированным словом.

Есть последнее сообщение open issue ... о, это вы открыли его!

Надеюсь, вы нашли источник своей проблемы сейчас.

+0

Yeh, я знал об этой проблеме, но это не проблема с форсированием изменений в базе данных. У меня есть взгляды (нужно сказать больше), что я отрываясь от этого, конечно, будет одним потоком информации. Когда вы пытаетесь принудительно вносить изменения в базу данных, он хочет, чтобы все было таблицей. Я просто хочу вручную обрабатывать все представления и отображать только одну таблицу (которая теперь исправлена ​​в dev 2.0, чтобы не быть сеансом), чтобы остальные могли работать как есть, и я могу изменить их вручную, если это необходимо. – MicWit