Cuando realizo una solicitud a través de Sequelize Model.findAll() , aparece un event_id en la respuesta que no está en el modelo, y también todas las claves externas vienen tanto en el caso de la serpiente como en el del camello.
Secuela de llamada:
ChatMessage.findAll({ offset, limit, raw: true });Resultado :
{ campaignId: 1 campaign_id: 1 createdAt: "2022-01-11T21:41:39.931Z" event_id: null id: 3 isCampaignMessage: true media: "https://link.com" message: "Text" messageFrom: "+11111111111" messageTo: "+11111111111" sid: "..." status: "..." targetId: 1 target_id: 1 }Consulta ahora:
SELECT "id", "target_id" AS "targetId", "message_from" AS "messageFrom", "message_to" AS "messageTo", "message", "media", "sid", "status", "campaign_id" AS "campaignId", "is_campaign_message" AS "isCampaignMessage", "created_at" AS "createdAt", "campaign_id", "event_id", "target_id" FROM "chat_message" AS "ChatMessage" LIMIT 25 OFFSET 0;Pero debería estar sin las últimas 3 identificaciones, porque se repiten.
Pueden aparecer campos extranjeros adicionales cuando agrega un asociado no válido. Lo mismo fue en mi caso, relación extra para el campo event_id .
Event.hasMany(models.Campaign, { foreignKey: 'event_id' }); Event.hasMany(models.ChatMessage, { foreignKey: 'event_id' }); // <--- Unnecessary association Event.hasMany(models.Target, { foreignKey: 'event_iEn cuanto a los casos recurrentes, era necesario llevar todas las asociaciones de claves foráneas a la forma de un caso de camello. Antes de eso, estaban en un caso de serpientes.
ChatMessage.belongsTo(models.Target, { foreignKey: '<target_id INTO targetId>' });