title: SQLite3::ConstraintException: xxxxx.created_at may not be NULL
body: <p>I have a resque job that creates an artist and associates it with a user. User has_and_belongs_to_many :artists, and Artist has_and_belongs_to_many :users.</p>
  
  <pre><code>def self.perform(itunes_id, user_id=nil)
    artist = Artist.find_by_itunes_id(itunes_id) || lookup_and_create_artist(itunes_id)
    if user_id &amp;&amp; user = User.find(user_id)
      user.artists &lt;&lt; artist
      user.save!
    end
  end
  </code></pre>
  
  <p><code>user.artists &lt;&lt; artist</code> raises this exception:</p>
  
  <pre><code>ActiveRecord::StatementInvalid: SQLite3::ConstraintException: artists_users.created_at may not be NULL: INSERT INTO "artists_users" ("artist_id", "user_id")
  </code></pre>
  
  <p>I have also seen the creation of an artists_genres (Artist and Genre have a reciprocal HABTM relationship as well)</p>
  
  <pre><code>ActiveRecord::StatementInvalid: SQLite3::ConstraintException: artists_genres.created_at may not be NULL: INSERT INTO "artists_genres" ("artist_id", "genre_id")
  </code></pre>