title: Rails migration error
body: <p>This seems pretty straight forward but I'm not sure what is going wrong.</p>
  
  <p>I'm attempting to do the following in my Rails migration:</p>
  
  <pre><code>change_column :foo, :bar, :text, :limit =&gt; 16777215
  </code></pre>
  
  <p>I'm getting the following error</p>
  
  <pre><code>Mysql::Error: BLOB/TEXT column 'bar' can't have a default value: ALTER TABLE `foo` CHANGE `bar` `email_contents` text(16777215) DEFAULT '' NOT NULL
  </code></pre>
  
  <p>The only thing I can figure is causing an issue is that this change_column is occurring shortly after I added the column to foo and had to change it from type :string to type :text in the first place. These each come from their own migration scripts and look like this:</p>
  
  <pre><code>add_column :foo, :bar, :string, :null =&gt; false
  </code></pre>
  
  <p>and    </p>
  
  <pre><code>change_column :foo, :bar, :text
  </code></pre>
  
  <p>As an experiment, I tried changing the first change_column (change_column :foo, :bar, :text) and discovered that this successfully alters the table. Unfortunately I cannot change either of the previous migrations and can only add new ones in our current implementation so that will not work in production. The question is, what is allowing me to change the column once but not twice?</p>
  
  <p><strong>Update</strong> Tried the first suggestion but got the following:</p>
  
  <pre><code>Mysql::Error: BLOB/TEXT column 'bar' can't have a default value: ALTER TABLE `foo` CHANGE `bar` `bar` text(16777215) DEFAULT ''
  </code></pre>