Drop duplicate likes and reset counts
This commit is contained in:
parent
56a14f641b
commit
0f17a16382
@ -1,2 +1,26 @@
|
|||||||
|
--
|
||||||
-- One like per-building, per-user
|
-- One like per-building, per-user
|
||||||
|
--
|
||||||
|
|
||||||
|
-- Drop duplicate likes
|
||||||
|
DELETE FROM building_user_likes
|
||||||
|
WHERE building_like_id NOT IN (
|
||||||
|
SELECT min(building_like_id)
|
||||||
|
FROM building_user_likes
|
||||||
|
GROUP BY (building_id, user_id)
|
||||||
|
);
|
||||||
|
|
||||||
|
-- Reset counts
|
||||||
|
UPDATE buildings
|
||||||
|
SET likes_total = (
|
||||||
|
SELECT count(*)
|
||||||
|
FROM building_user_likes
|
||||||
|
WHERE buildings.building_id = building_user_likes.building_id
|
||||||
|
)
|
||||||
|
WHERE buildings.building_id in (
|
||||||
|
SELECT DISTINCT building_id
|
||||||
|
FROM building_user_likes
|
||||||
|
);
|
||||||
|
|
||||||
|
-- Add constraint
|
||||||
ALTER TABLE building_user_likes ADD CONSTRAINT building_like_once UNIQUE (building_id, user_id);
|
ALTER TABLE building_user_likes ADD CONSTRAINT building_like_once UNIQUE (building_id, user_id);
|
||||||
|
Loading…
Reference in New Issue
Block a user