Nie sądzę, żeby interwał był tym, czego chcesz. Przedział reprezentuje przedział czasu bez określonych punktów końcowych; na przykład dodajesz interwał do istniejącego czasu, aby uzyskać inny czas. Lepiej byłoby z dwoma różnymi czasami:
add_column :merchants, :order_from, :time, :null => false
add_column :merchants, :order_to, :time, :null => false
Następnie, jeśli z jakiegoś powodu musisz wiedzieć, ile godzin są otwarte do dostawy, możesz skonstruować przedział, odejmując :order_from
od :order_to
.
Jeśli naprawdę musisz użyć przedziału, musisz skonstruować wartość podobną do tej:
:delivery_time => "interval '11 hour'"
Zwróć uwagę, jak pokazuje to, że interwał nie jest określonym zakresem czasu od A do B , jest to po prostu przedział czasu o określonej długości (bez określonych punktów końcowych).