Size: a a a

Sequelize - community (eng/ru)

2021 March 16

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
Alexandr Zharkov
Привет всем, есть таблица к которой делю 2 инклуда,
const unread = await SubscriberNotification.findAll({
     include: [
       {
         model: Notification,
         as: 'notification',
         required: true,
         where: {
           status: Notification.NOTIFICATION_STATUS_SENDED,
         },
       },
       {
         model: SubscriberNotificationRead,
         as: 'read',
         required: true,
       },
     ],
     where: {
       userName: sub,
     },
   });
Запутался немного, как мне заинклудить чтобы получить записи которых НЕТ в SubscriberNotificationRead

То есть получаю пользователя (SubscriberNotification) в него загружаю все уведомления (Notification) которые отправлены (NOTIFICATION_STATUS_SENDED), НО которые еще не прочитаны (нет в SubscriberNotificationRead)
require: false. и where relationTable is null
источник

AZ

Alexandr Zharkov in Sequelize - community (eng/ru)
Yaroslav Zhymkov
require: false. и where relationTable is null
Спасибо, сейчас попробую
источник

AZ

Alexandr Zharkov in Sequelize - community (eng/ru)
Спасибо, получилось
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
успехов
источник
2021 March 17

N

Nikita in Sequelize - community (eng/ru)
Подключил Sequelize, есть таблицы users, meetings.
meetings.belongsTo(users, { foreignKey: { name: ‘userId’, allowNull: false }});

При этом в схеме meetings не могу добавить поле userId, начинает ругаться. В итоге когда пытаюсь сохранить запись в meetings, предоставляю userId, однако sequelize по неведомым причинам не добавляет userId в конечный запрос, что вызывает ошибку “null value in column “userId” violates not-null constraint”.

Что я делаю не так, ребят?
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
покажите код
источник

N

Nikita in Sequelize - community (eng/ru)
Прошу не воспринимать описание выше, т.к я для упрощения переименовал таблицы. На самом деле речь идет о meetings, meeting_invitees. Сейчас код пришлю
источник

N

Nikita in Sequelize - community (eng/ru)
const meetingInvitees = sequelizeClient.define('meeting_invitees', {
   id: {
     type: DataTypes.UUID,
     defaultValue: DataTypes.UUIDV4,
     primaryKey: true,
     allowNull: false
   },
   accessToken: {
     type: DataTypes.STRING,
     unique: true,
     allowNull: false
   },
   status: {
     type: DataTypes.STRING,
     allowNull: false
   }
 }})
источник

N

Nikita in Sequelize - community (eng/ru)
const meetings = sequelizeClient.define('meetings', {
   id: {
     type: DataTypes.UUID,
     defaultValue: DataTypes.UUIDV4,
     primaryKey: true,
     allowNull: false
   },
   name: {
     type: DataTypes.STRING
   },
   maxParticipants: {
     type: DataTypes.INTEGER
   },
   startDate: {
     type: DataTypes.DATE,
     allowNull: false
   }
 }})
источник

N

Nikita in Sequelize - community (eng/ru)
meetingInvitees.belongsTo(models.meetings, {
     as: 'meeting',
     foreignKey: {
       name: 'meetingId',
       allowNull: false
     }
   });
источник

N

Nikita in Sequelize - community (eng/ru)
При попытке сохранить в  meeting_invitees отправляю следующее тело:
{
 "meetingId": "09a743ba-406c-420b-90f5-f89e3b19f962",
 "accessToken": "HI3kSvgKjlFB2CAXls5OCFKGW5SAj-VZxcGoTSvr",
 "status": "active"
}
источник

N

Nikita in Sequelize - community (eng/ru)
Лог Sequelize докладывает о следующей операции ^

Sequelize log:
Executing (default): INSERT INTO "meeting_invitees" ("id","accessToken","status","createdAt","updatedAt") VALUES ($1,$2,$3,$4,$5) RETURNING "id","accessToken","status","createdAt","updatedAt”;
источник

N

Nikita in Sequelize - community (eng/ru)
В итоге ошибка
null value in column "meetingId" violates not-null constraint
источник

N

Nikita in Sequelize - community (eng/ru)
Я полагаю что Sequelize не видит в схеме meetingId и его убирает
источник

N

Nikita in Sequelize - community (eng/ru)
Но если добавлю в схему meetingId: {type: String} то создается неведомый конфликт, при создании таблицы бросает ошибку)
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
где у вас связующее поле в meeting-invites?
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
в схеме его не вижу
источник

N

Nikita in Sequelize - community (eng/ru)
Вот как раз я не могу добавить в схему его
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
почему
источник

N

Nikita in Sequelize - community (eng/ru)
Могу скинуть ошибку сейчас
источник