Je ne pense pas qu'un intervalle soit vraiment ce que vous voulez pour cela. Un intervalle représente un laps de temps sans points finaux spécifiques ; par exemple, vous ajoutez un intervalle à une heure existante pour obtenir une autre heure. Vous seriez mieux avec deux temps distincts :
add_column :merchants, :order_from, :time, :null => false
add_column :merchants, :order_to, :time, :null => false
Ensuite, si pour une raison quelconque vous avez besoin de savoir combien d'heures ils sont ouverts pour la livraison, vous pouvez construire un intervalle en soustrayant :order_from
de :order_to
.
Si vous devez vraiment utiliser un intervalle, alors vous devrez construire une valeur comme ceci :
:delivery_time => "interval '11 hour'"
Notez comment cela illustre qu'un intervalle n'est pas une plage de temps spécifique à partir de A à B , il s'agit simplement d'une plage de temps d'une certaine longueur (sans points de fin spécifiés).