Laravel changes created_at on update
<p>I found <a href="https://stackoverflow.com/questions/31842470/laravel-updating-row-changes-created-at-column">this answer</a> on the subject, but it doesn't work for me.</p>

<p>So, I make an entry in the database:</p>

<pre><code>// Write lead to database
$lead = Lead::create($lead_data);
</code></pre>

<p>And the timestamps look like this, which is good:</p>

<pre><code>| 2016-01-08 10:34:15 | 2016-01-08 10:34:15 |
</code></pre>

<p>But then I make a request to an external server, and I need to update the row:</p>

<pre><code>$lead-&gt;user_id = $response['user_id'];
$lead-&gt;broker_id = $response['broker_id'];
$lead-&gt;save();
</code></pre>

<p>and the created_at field gets changed:</p>

<pre><code>| 2016-01-08 04:34:17 | 2016-01-08 10:34:17 |
</code></pre>

<p>How do I solve this problem?</p>

<p><strong>EDIT</strong></p>

<p>I need a solution that would just modify the behavior without dropping columns or resetting migrations. The fix has to be performed on a live database without touching the data. As suggested below, I tried the following migration:</p>

<pre><code>$table-&gt;datetime('created_at')-&gt;default(DB::raw('CURRENT_TIMESTAMP'))-&gt;change();
</code></pre>

<p>but nothing happens. The created_at field still gets modified on update.</p>