title: Laravel throws an error on setting a not null string field to empty string
body: <p>When I try to execute this code (excerpt):</p>
  
  <pre><code>// ####_##_##_######_create_items_table.php
  $table-&gt;string('seller_sku')-&gt;default('')-&gt;unique();
  
  // ItemFactory.php
  return [
    'seller_sku' =&gt; $faker-&gt;optional($default = '')-&gt;word,
  ];
  </code></pre>
  
  <p>and run: <code>php artisan migrate:refresh --seed</code></p>
  
  <p>it yields:</p>
  
  <pre><code>SQLSTATE[23000]: Integrity constraint violation: 1048 Column
  'seller_sku' cannot be null (SQL: insert into `items` (`name`,
  `seller_sku`, `category_id`, `current_prize`, `winter`, `updated_at`,
  `created_at`) values (facilis, , 44, 131, 1,
  2018-03-03 12:18:22, 2018-03-03 12:18:22))
  </code></pre>
  
  <p>Why is that happening and how can I solve the problem?</p>