title: Doctrine migrations wont recognise changes to annotations (in production)
body: <p><strong>The original problem</strong></p>
  <p>The reasons, notes and members fields bellow where <code>@ORM\Column(type=&quot;string&quot;, length=20000)</code> which did not work because that is too long for a VARCHAR so I changed them all to <code>@ORM\Column(type=&quot;text&quot;)</code></p>
  <p><strong>And Now</strong></p>
  <p>It is possible that I have misunderstood the correct way to handle migrations in productions but I can't get my database to match my entity. Running <code>php bin/console doctrine:migrations:diff</code> or <code>php bin/console doctrine:schema:update --dump-sql</code> doctrine tries to update the database to an old version of Request.php like it has been cached but even after running clear-metadata the migrations all say <code>VARCHAR(20000)</code> like in this sql dump after I manually changed the database:</p>
  <pre><code>ALTER TABLE request CHANGE reasons reasons VARCHAR(20000) NOT NULL, CHANGE notes notes VARCHAR(20000) DEFAULT NULL, CHANGE members members VARCHAR(20000) NOT NULL;
  </code></pre>
  <p>Current Request.php</p>
  <pre><code>namespace App\Entity;
  
  use App\Repository\RequestRepository;
  use Doctrine\ORM\Mapping as ORM;
  use Symfony\Component\Validator\Constraints as Assert;
  /**
   * @ORM\Entity(repositoryClass=RequestRepository::class)
   */
  class Request
  {
      /**
       * @ORM\Id
       * @ORM\GeneratedValue
       * @ORM\Column(type=&quot;integer&quot;)
       */
      private $id;
  
      /**
       * @ORM\Column(type=&quot;time&quot;)
       * @Assert\LessThan(propertyPath=&quot;endTime&quot;, message=&quot;The booking must start before it ends&quot;)
       */
      private $startTime;
  
      /**
       * @ORM\Column(type=&quot;time&quot;)
       */
      private $endTime;
  
      /**
       * @ORM\Column(type=&quot;date&quot;)
       */
      private $date;
  
      /**
       * @ORM\Column(type=&quot;text&quot;)
       */
      private $reasons;
  
      /**
       * @ORM\Column(type=&quot;text&quot;, nullable=true)
       */
      private $notes;
  
      /**
       * @ORM\Column(type=&quot;text&quot;)
       */
      private $status;
  
      /**
       * @ORM\ManyToOne(targetEntity=User::class, inversedBy=&quot;requests&quot;)
       * @ORM\JoinColumn(nullable=true)
       */
      private $user;
  
      /**
       * @ORM\Column(type=&quot;text&quot;)
       */
      private $members;
  </code></pre>
  <p>I have tried removing the Request.php entity but then doctrine gets upset that it is gone. (I do have a relational link to the user table here but it is one to many).</p>
  <p>Changing the names of members reasons and notes worked but when I changed the names back it wanted to set them back to <code>VARCHAR(20000)</code>. Where is it holding this info. How do I get rid of it?</p>