Doctrine 1
  1. Doctrine 1
  2. DC-791

[PostgreSQL] In case model is build from existing database sequence name is invalid and doctrine throw exception

    Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Blocker Blocker
    • Resolution: Unresolved
    • Affects Version/s: 1.2.2
    • Fix Version/s: None
    • Component/s: Schema Files
    • Labels:
      None
    • Environment:
      symfony 1.4.5, postgresql 8.4, debian lenny, nginx

      Description

      Firstly I created database directly in postgresql.
      After that I generated schema from existsing database and after all i built model.

      When I try to insert new record to database I received following error:

      sequence "Category_id_seq" does not exist

      In schema file sequence name is defined like this: sequence: '"Address_id_seq"'
      There's are apostrophes and quotes.

      In Category model file is same like above, apostrophes and quotes.

      When I remove quotes from sequence in model files everything is ok and there're no problems with insert new row to database.

        Activity

        Przemysław Ciąćka created issue -
        Hide
        Enrico Stahn added a comment -

        There are 2 solutions to your problem. The first is to change the sequence name in the schema, the second is to change the doctrine configuration.

        The default behavior of doctrine is to add a "_seq" to each sequence name. If you remove this part from you sequence name then it sould work as expected. The second option is to change the behavior of doctrine with the following configuration parameter:

         
        Doctrine_Manager::getInstance()->setAttribute(Doctrine_Core::ATTR_SEQNAME_FORMAT, '%s'); 
        

        default: Doctrine_Manager::getInstance()->setAttribute(Doctrine_Core::ATTR_SEQNAME_FORMAT, '%s_seq');

        Show
        Enrico Stahn added a comment - There are 2 solutions to your problem. The first is to change the sequence name in the schema, the second is to change the doctrine configuration. The default behavior of doctrine is to add a "_seq" to each sequence name. If you remove this part from you sequence name then it sould work as expected. The second option is to change the behavior of doctrine with the following configuration parameter: Doctrine_Manager::getInstance()->setAttribute(Doctrine_Core::ATTR_SEQNAME_FORMAT, '%s'); default: Doctrine_Manager::getInstance()->setAttribute(Doctrine_Core::ATTR_SEQNAME_FORMAT, '%s_seq');
        Jonathan H. Wage made changes -
        Field Original Value New Value
        Fix Version/s 1.2.4 [ 10063 ]
        Fix Version/s 1.2.3 [ 10051 ]
        Hide
        Przemysław Ciąćka added a comment -

        Problem are quotes in sequence name.
        Sequence names in schema built from existing database have quotes in their names, e.g ' "Address_seq" ' and Doctrine try to execute sequence with quotes but in database names exist without quotes.

        Temporarly I fixed it by add str_replace() into importer from PostgreSQL - now in schema sequence names are without quotes.

        Show
        Przemysław Ciąćka added a comment - Problem are quotes in sequence name. Sequence names in schema built from existing database have quotes in their names, e.g ' "Address_seq" ' and Doctrine try to execute sequence with quotes but in database names exist without quotes. Temporarly I fixed it by add str_replace() into importer from PostgreSQL - now in schema sequence names are without quotes.
        Guilherme Blanco made changes -
        Fix Version/s 1.2.4 [ 10063 ]

        This list may be incomplete, as errors occurred whilst retrieving source from linked applications:

        • Request to http://www.doctrine-project.org/fisheye/ failed: Error in remote call to 'FishEye 0 (http://www.doctrine-project.org/fisheye/)' (http://www.doctrine-project.org/fisheye) [AbstractRestCommand{path='/rest-service-fe/search-v1/crossRepositoryQuery', params={query=DC-791, expand=changesets[0:20].revisions[0:29],reviews}, methodType=GET}] : Received status code 503 (Service Temporarily Unavailable)

          People

          • Assignee:
            Jonathan H. Wage
            Reporter:
            Przemysław Ciąćka
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated: