-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Замечания по СРС 1 по СУБД #18
Comments
Исправили, есть только вопрос На данный момент мы решили эту проблему на стороне бэкенда и просто в user1_id передаем меньшее из пары, а в user2_id большее. Но можно ли создать такое ограничение, которое будет покрывать оба случая? |
Замените UNIQUE (user1_id, user2_id) на
и будет вам счастье. Только обязательно разберитесь, что делает эта конструкция, в будущем я с вас это спрошу. |
Насчет primary key в таблицах связях я рекомендую еще подумать, не во всех них есть смысл делать суррогатный ID вместе с составным уникальным индексом, ведь составной PK покроет обе потребности. |
И еще такое замечание - не вижу нигде в таблицах created_at и updated_at полей. Требования такого явно не было, так что это не блокер, но я рекомендую подумать и добавить эти поля в те таблицы, в которых они по вашему мнению могут пригодиться. |
В таком случае можно добавить пару (1, 2), но потом пару (1, 3) уже не получится вставить. но можно вот так
такой вариант работает, но добавление двух столбцов в таком случае нормальная практика? |
мда, поторопился я с советом :) На этом этапе будем считать, что первый рубеж пройдем и можно подумать над денормализацией, так что попробуйте поэкспериментировать с составными типами данных: |
Вот что еще нашел, что вам стоит попробовать:
|
Такой вариант мы тоже пробовали, но postgres ошибку синтаксиса возвращает, не дает так создать |
мдэ, не PGшный синтаксис. Тогда без добавления лишних полей можно так попробовать:
Но на стороне приложения, вам нужно будет явно задавать порядок диалогов. |
Спасибо, так и сделаем. |
liked_by_user_id
иliked_to_user_id
- слишком похожие названия, предвижу много путаницы при чтении поддержке запросов с участием этих полей. Переименуйте, пожалуйста, так, чтобы они не сливались, например, liked_from_user_id и liked_to_user_id - минимальное изменение, но теперь названия полей, хотя бы разной длиныThe text was updated successfully, but these errors were encountered: