Change tables structures with migration without losing data?
<p>I have read several threads about this but still not exactly my problem.
So in the <code>users</code> table I have a column called <code>role</code>, which is enum type and has two available values: 1 and 2. I set 2 as the default one. Now I want to change it to 1, for example. I created a new migration, ran <code>php artisan migrate</code> and encounter this error: </p>

<pre><code>[Illuminate\DatabaseQueryException]                                           

SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'role' (SQL: alter table `u  
  sers` add `role` enum('1', '2') not null default '1')                                                     
[PDOException]                                                             
  SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'role' 
</code></pre>

<p>Here is code in my CreateUsersTable migration file:</p>

<pre><code>$table-&gt;enum('role', ['1', '2'])-&gt;default('2');
</code></pre>

<p>And I did the same in the new UpdateUsersTable migration file:</p>

<pre><code>$table-&gt;enum('role', ['1', '2'])-&gt;default('1');
</code></pre>

<p>And by the way I can not use <code>php artisan migrate:refresh</code> because it will delete all my data. Where am I doing wrong?</p>