Bon, je me mets en mode Think Outside The Box. Déjà pour quelle raison tu développes avec un SGBD différent entre dev, staging et prod. C'est le meilleur moyen pour avoir des problèmes de dernière minute de merde comme celui-ci. OK, on peut vite fait prototyper avec SQLite mais très rapidement on switche sur le même SGBD entre les différents environnements. Et puis sinon +1 pour le commentaire de Michel : tu changes ton code pour t’accommoder du fait que t'as des valeurs NULL sur une colonne où tu fais un ORDER, généralement on fait plutôt l'inverse...
2011/6/14 Michel Belleville <[email protected]>: > Aha. Ben, si tu veux rester agnostique de la bdd, tu as peut-être intérêt de > faire en sorte de n'avoir pas de null (une valeur par défaut peut parfois > faire l'affaire) ; sinon effectivement faire une requête custom PG peut être > la solution pour toi. > > C'est bon à savoir en tout cas. > > Michel Belleville > > > 2011/6/14 Laurent Kretz <[email protected]> >> >> Michel, merci de ta réponse. >> Le problème est en fait que PG et SQLite ne gèrent pas les NULLS de la >> même façon (je me sens un peu bête là :) >> DONC solution : >> en local: >> top_users = User.order("login_count DESC").limit(20) >> en prod: >> top_users = User.order("login_count DESC NULLS LAST").limit(20) >> Et le tout ressemble à cela: >> - if Rails.env == "development" >> - sorting = "DESC" >> - else >> - sorting = "DESC NULLS LAST" >> - User.order("login_count #{sorting}").limit(20).each_with_index do >> |i, index| >> >> -- >> Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de >> Google Groups. >> Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse >> [email protected] >> Pour résilier votre abonnement envoyez un e-mail à l'adresse >> [email protected] > > -- > Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de > Google Groups. > Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse > [email protected] > Pour résilier votre abonnement envoyez un e-mail à l'adresse > [email protected] -- Nicolas Blanco, Web developper http://www.nicolasblanco.fr Jabber/GoogleTalk : [email protected] Twitter : http://twitter.com/slainer68 Github : http://github.com/slainer68 Skype : slainer68 -- Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups. Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse [email protected] Pour résilier votre abonnement envoyez un e-mail à l'adresse [email protected]
