Sequelize.js foreign key
Before I had the same problem, and solved when I understood the functioning of settings Sequelize.
Straight to the point!
Suppose we have two objects: Person and Father
var Person = sequelize.define('Person', { name: Sequelize.STRING});var Father = sequelize.define('Father', { age: Sequelize.STRING, //The magic start here personId: { type: Sequelize.INTEGER, references: 'persons', // <<< Note, its table's name, not object name referencesKey: 'id' // <<< Note, its a column name }});Person.hasMany(Father); // Set one to many relationship
Maybe it helps you
Edit:
You can read this to understand better:
http://docs.sequelizejs.com/manual/tutorial/associations.html#foreign-keys
For Sequelize 4 this has been updated to the following:
const Father = sequelize.define('Father', { name: Sequelize.STRING});const Child = sequelize.define('Child', { age: Sequelize.STRING, fatherId: { type: Sequelize.INTEGER, references: { model: 'fathers', // 'fathers' refers to table name key: 'id', // 'id' refers to column name in fathers table } }});Father.hasMany(Child); // Set one to many relationship
Edit:You can read more on associations at https://sequelize.org/master/manual/assocs.html
You need to add foreignKeyConstraint: true
Try:
MainClient.hasOne(MainDashboard, { foreignKey: 'idClient', foreignKeyConstraint: true })