Uploaded image for project: 'Doctrine DBAL'
  1. Doctrine DBAL
  2. DBAL-84

Long string fields are being silently changed to 255 characters in the schema

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.0, 2.0.1
    • Fix Version/s: 2.0.2, 2.1
    • Component/s: Schema Managers
    • Labels:
      None

      Description

      I have an entity like this:

      /**
       * @orm:Entity
       */
      class Product
      {
          /**
           * @orm:Id
           * @orm:Column(name="Merchant",type="string",length=50)
           */
          protected $merchant;
      
          /**
           * @orm:Column(name="Name",type="string",length=500)
           */
          protected $name;
      }

      When I change the length of $name field to 4000 it updates the schema like it is supposed to:

      php.exe -f console doctrine:schema:update --dump-sql
      ALTER TABLE product CHANGE Name Name VARCHAR(4000) NOT NULL

      But when I change the length to 5000 it just silently without any warning uses value 255 instead:

      php.exe -f console doctrine:schema:update --dump-sql
      ALTER TABLE product CHANGE Name Name VARCHAR(255) NOT NULL

      I had to look into actual table definition using mysql browser to find this issue because doctrine doesn't even warn about it. This could lead to some pretty serious bugs!

        Activity

        Hide
        beberlei Benjamin Eberlei added a comment -

        Fixed in master and 2.0.x

        Show
        beberlei Benjamin Eberlei added a comment - Fixed in master and 2.0.x

          People

          • Assignee:
            beberlei Benjamin Eberlei
            Reporter:
            extesy Oleg Anashkin
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: