title: Sequelize many-to-many relation with custom foreign key
body: <p>I'm making a model of the existing database. My table has many-to-many self-reference through a junction table. Junction table has two fields: 'parent_id' and 'child_id'.
  I am trying to define the association like that: </p>
  
  <pre><code>    company.hasMany(company, {as: 'parents', foreignKey: 'child_id', through: 'company_relation'});
      company.hasMany(company, {as: 'children', foreignKey: 'parent_id',  through: 'company_relation'});
  </code></pre>
  
  <p>But when I'm trying to set child companies, Sequelize is still looking for 'children_id' foreign key in junction table, not for 'child_id', as I defined:</p>
  
  <pre><code>    company.setChildren([child]);
  </code></pre>
  
  <p>returns an error: </p>
  
  <pre><code>error: column company_relation.children_id does not exist
  </code></pre>
  
  <p>How can I define custom foreign key in junction table, if I don't want to name my associations in singular, like that:</p>
  
  <pre><code>    company.hasMany(company, {as: 'parent', foreignKey: 'child_id', through: 'company_relation'});
      company.hasMany(company, {as: 'child', foreignKey: 'parent_id',  through: 'company_relation'});
  </code></pre>
  
  <p>Is there any other way? Thank you, and sorry if it's hard to understand me :)</p>