PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

SQLite vers Postgres (Heroku) GROUP BY

Je suis arrivé à une solution fonctionnelle avec l'utilisation de DISTINCT ON :

@messages = Message.select("DISTINCT ON (messages.conversation_id) * ")
                   .where("messages.sender_id = (?) OR messages.recipient_id = (?)", current_user.id, current_user.id)
                   .group("messages.conversation_id, messages.updated_at, messages.id, messages.sender_id, messages.recipient_id, messages.sender_deleted, messages.recipient_deleted, messages.body, messages.read_at, messages.ancestry, messages.ancestry_depth, messages.created_at")

Cependant, cela ne fonctionnera pas dans SQLite. Il est recommandé de télécharger Postgres et de l'utiliser directement plutôt que d'avoir à utiliser le code SQLite en développement et le code Postgres en production (Heroku).