title: Doctrine default value vs null insert
body: <p>There is something that bothers me. I've tried to find one clear answer but no luck so far. </p>
  
  <p>I'm using Symfony3 and Doctrine2 and MariaDB.</p>
  
  <p>Let's assume that I've created something like this in my entity:</p>
  
  <pre><code>/**
   * @ORM\Column(
   *     name="status",
   *     type="boolean",
   *     options={"default": 0}
   * )
   */
  private $status;
  </code></pre>
  
  <p>Now thanks to this I have field with default value of 0 in database:</p>
  
  <pre><code>`status` tinyint(1) NOT NULL DEFAULT '0',
  </code></pre>
  
  <p>But what's the point of having this when every time I try to save data into database(I'm trying to save only for example 1 out of 10 fields):</p>
  
  <pre><code>$story-&gt;setContent('Test Content');
  
  $em = $this-&gt;getDoctrine()-&gt;getManager();
  $em-&gt;persist($story);
  $em-&gt;flush();
  </code></pre>
  
  <p>I get:</p>
  
  <pre><code>SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'status' cannot  be null
  </code></pre>
  
  <p>Because, of course rest of the fields on the object are null.</p>
  
  <p>I can work around this by setting the default values in the constructor or by allowing for null values in the DB. </p>
  
  <p>What if I don't want to do this? Is there any other way that I am missing here?</p>
  
  <p>So what I would like to know:</p>
  
  <ul>
  <li>are setting default value in entity or allowing nulls in DB only ways to do this?</li>
  <li>is there something wrong with my logic here?</li>
  <li>is there any cooler and cleaner way of doing this?</li>
  </ul>