Doctrine 1
  1. Doctrine 1
  2. DC-803

Syntax error in MySQL migration to drop constraint (patch supplied)

    Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Minor Minor
    • Resolution: Unresolved
    • Affects Version/s: 1.2.2
    • Fix Version/s: 1.2.2
    • Component/s: Migrations
    • Labels:
      None
    • Environment:
      Debian, PHP 5.3.2, MySQL

      Description

      I have a migration that adds constraints correctly. When migrating down, however, I get a syntax error

      ErrorMessage
        Error #1 - SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CONSTRAINT unique_username_idx' at line 1. Failing Query: "ALTER TABLE conUser DROP CONSTRAINT unique_username_idx"
      

      Here is the down migration:

      DownMigration
          public function down() {
              $this->dropConstraint('conUser', 'unique_username_idx');
          }
      

      The SQL generated is "ALTER TABLE conUser DROP CONSTRAINT unique_username_idx". This post (http://forums.mysql.com/read.php?98,70887,70974#msg-70974) suggests that in MySQL the syntax should be "ALTER TABLE conUser DROP INDEX unique_username_idx" as constraints are basically indexes in MySQL (unlike MSSQL and Oracle). Doctrine's lib/Doctrine/Export/MySql.php appears to have a syntax error in the dropConstraint method. I attach a patch for this, but the only change is replacing "$name = 'CONSTRAINT '" with "$name = 'INDEX '" in dropConstraint. The migration then runs as I would expect.

      Sorry if this has been fixed elsewhere, I did a search but couldn't find a similar ticket.

        Activity

        Hide
        Gavin Davies added a comment -

        fixing syntax

        Show
        Gavin Davies added a comment - fixing syntax

          People

          • Assignee:
            Jonathan H. Wage
            Reporter:
            Gavin Davies
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated: