172 похожих чатов

Несколько дней голову ломаю, стоит ли создавать для личных сообщений

отдельную модель чатов или достаточно добавить поле в чаты с булевым значением is_direct?

16 ответов

22 просмотра

ну у меня есть модель пользователя и чата, две разных таблицы, в модели чата совсем по другому всё, но так как там может быть как и чат, так и личные сообщения, просто внутри таблицы с сайтами храню данные приватный ли это чат

Прикол младший love();
ну у меня есть модель пользователя и чата, две раз...

Ну личные сообщения от чатовских по идее отличаются тем что у чатовских есть chat_id, а у личных есть id получателя сообщения. И никаких дополнительных булевых не надо. Можете сразу добавить message_id, типа сообщение в ответ на это сообщение. И все у вас и в чате и в личных сообщениях можно делать ответы на конкретные сообщения

Прикол младший love();
у чатовских и личных есть chat.id и from.id from э...

Если у всех сообщений есть chat.id, тогда признак в модели chat, что он личный

Константин Коломейцев ☭
Ну личные сообщения от чатовских по идее отличаютс...

как потом выборки делать из одной кучи по сложному условию?

Константин Коломейцев ☭
Можно конкретнее, что за сложное условие?

правильнее было бы сказать "косвенное" условие, как например отсутствие какого-либо значения

maxp.dev
правильнее было бы сказать "косвенное" условие, ка...

Выглядит как пример с потолка. У человека есть чаты и сообщения. Зачем ему искать отсутствие какого либо значения. Нужны поиск по сообщениям конкретного юзера в конкретном чате или с корректным человеком. Индекс по отправителю, получателю и чату

Константин Коломейцев ☭
Выглядит как пример с потолка. У человека есть чат...

чел спрашивал изначально как лучше сделать. вот по опыту могу сказать, что явные признаки хранить удобнее и проще в долгосрочной перспективе

Константин Коломейцев ☭
Выглядит как пример с потолка. У человека есть чат...

"Индекс по отправителю, получателю и чату" составной?)

maxp.dev
чел спрашивал изначально как лучше сделать. вот по...

Ну так Я тоже из опыта говорю и выше пример из телеги прислали, где примерно то же самое. Явные признаки нужны, когда нет косвенных и потом будут проблемы когда явные признаки начнут конфликтовать с косвенными

maxp.dev
в примере из телеги явно указан тип чата - private

Потому что личные сообщения приходят в личном чате, там этот признак скорее всего для того, чтобы показать что этот чат можно или нельзя найти в поиске и можно ли в него вступить, а не признак того что это чат между 2-мя людьми. Я бы не стал для личных сообщений делать отдельный чат, потому что при каком нибудь сбое заполучив чат ид можно будет в личные переписки других людей заломиться как в паблик. Это не явный признак, что это чат между двумя людьми. Скорее всего так ещё сделано, чтобы можно было в личные переписки добавлять всякие штуки, которые и в обычных общих чатах используются. То есть это особенности именно телеги

Константин Коломейцев ☭
Потому что личные сообщения приходят в личном чате...

в схеме признак как раз того, что это приватный чат, причем изначально не сказано, что там только два человека, и вообще это пример транспортного уровня апи, а не схемы хранения

maxp.dev
в схеме признак как раз того, что это приватный ча...

Так вот именно, приватный чат, а человек выше интересовался личными сообщениями, меду 2 людьми, а не приватными чатами. А раз у него chat.id уже есть у всех сообщений, то вариант с телегой подходит лучше, Я же не знал что у него это поле обязательное, поэтому предложил сделать, как сделал бы сам, добавить поле с получателем. И тогда исчезает ненужная сущность чата из личных сообщений

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта