I don't understand this error (SequelizeForeignKeyConstraintError: insert or update on table \"segment\" violates foreign key constraint \"segment_id_fkey\"). I've read other answers on this topic on StackOverflow, but nothing that has pointed me in the right direction. 
What I'm trying to do is have a user submit a form with some data that's then saved as a Segment model. The Segment model looks like so:
module.exports = (sequelize, DataTypes) => {
  const Segment = sequelize.define(
    'segment',
    {
      id: {
        type: DataTypes.INTEGER,
        autoIncrement: true,
        primaryKey: true
      },
      provider_id: {
        type: DataTypes.INTEGER,
        references: {
          model: 'provider',
          key: 'id'
        }
      },
      summary_id: {
        type: DataTypes.INTEGER,
        references: {
          model: 'summary',
          key: 'id'
        }
      },
      audience_id: {
        type: DataTypes.INTEGER,
        references: {
          model: 'audience',
          key: 'id'
        }
      },
      onboarding_id: {
        type: DataTypes.INTEGER,
        references: {
          model: 'onboarding',
          key: 'id'
        }
      }
    },
    {
      // disable the modification of table names; By default, sequelize will automatically
      // transform all passed model names (first parameter of define) into plural.
      // if you don't want that, set the following
      freezeTableName: true,
      tableName: 'segment'
    }
  );
  Segment.associate = models => {
    Segment.belongsTo(models.Provider, { foreignKey: 'id' });
    Segment.belongsTo(models.Summary, { foreignKey: 'id' });
    Segment.belongsTo(models.Audience, { foreignKey: 'id' });
    Segment.belongsTo(models.Onboarding, { foreignKey: 'id' });
  };
  return Segment;
};
The models that the Segment refers to (ie Provider, Summary, Audience, Onboarding), have a hasMany relationship to the Segment model. Something like so: 
Provider.associate = models => {
  Provider.hasMany(models.Segment, { foreignKey: 'provider_id' });
};
I have a feeling that the error has to do with the way I'm associating my models.
Any and all help is super appreciated! Thanks in advance!
Keep associations like:
Segment.associate = models => {
    Segment.belongsTo(models.Provider, { foreignKey: 'provider_id' });
    Segment.belongsTo(models.Summary, { foreignKey: 'summary_id' });
    Segment.belongsTo(models.Audience, { foreignKey: 'audience_id' });
    Segment.belongsTo(models.Onboarding, { foreignKey: 'onboarding_id' });
}
and in Providers, summary, Audience and oboarding files:
Providers.associate = models => {
    Providers.belongsTo(models.Segments, { foreignKey: 'id' });    
};
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With