heroku Postgres erreur de l'opérateur n'existe pas d'horodatage sans fuseau horaire = integer
Je suis en utilisant le code suivant dans mon controller:
@monday = (Time.now).at_beginning_of_week
@friday = 5.days.since(@monday)-1.second
@sent_emails = ContactEmail.all(:conditions => ['date_sent >= ? and date_sent <= ?', @monday, @friday])
Bien qu'il fonctionne très bien sur mon locale sqlite, j'ai un "opérateur n'existe pas d'horodatage sans timezone = integer" erreur.
Je ne suis pas exactement clair ce qu'il faut changer.
Idées?
Grâce.
Vous devez vous connecter pour publier un commentaire.
Vos paramètres @lundi et @vendredi sont mauvais, ceux-ci doivent être de type "timestamp sans fuseau horaire", mais sont créés par des entiers, voir la errormessage. SQLite n'ont pas datetime-types de données, de sorte que les dates sont stockées sous forme de texte ou de nombres entiers (unix-les horodatages). C'est pourquoi vous n'obtenez pas un errormessage dans SQLite.
Assurez-vous de créer des horodateurs, comme "2004-10-19 10:23:54" et vous serez amende. Une autre option pourrait être l'PostgreSQL-fonction to_timestamp() pour convertir vos unix timestamp timestamp: