2010-10-01 4 views
2

Donc dans les rails, j'utilise sqlite3 pour le développement et mysql pour la production. Sqlite3 et mysql gèrent les booléens différemment ("t" ou "f" dans sqlite3 et true ou false sur mysql). En général, ce n'est pas un problème quand je fais une découverte parce que je peux le faire:Rails find_by_sql dépend du type de base de données

Comment.find(:all, :conditions => ["viewed = ?", false]) 

Et rails insérerai la valeur appropriée en fonction de l'environnement. Mais que faire si je veux faire un find_by_sql dans lequel j'ai besoin d'un booléen?

Répondre

3

Vous avez de la chance! #find_by_sql effectue également un remplacement de chaîne de caractères indépendant de la base de données lorsque vous lui passez un tableau.

Comment.find_by_sql(["SELECT * FROM comments WHERE viewed = ?", false]) 
+0

ahhhh ... Je suis retardée, je suppose que je devrais avoir essayé juste avant de poster cette question. – tybro0103

Questions connexes