3

我用Rails 3.2.7和Postgres 9.2試圖創建一個日期範圍如何使用Rails

這裏在PostgreSQL中創建一個日期範圍是如何,我創造它

schedule_block    = ScheduleBlock.new 
schedule_block.date_range = [Date.new, Date.new] 
schedule_block.save 

而這裏的產生查詢和錯誤:

INSERT INTO "schedule_blocks" ("date_range") VALUES ($1) RETURNING "id" [["date_range", [Mon, 01 Jan -4712, Mon, 01 Jan -4712]]] 
PG::Error: ERROR: malformed range literal: "--- 
- -4712-01-01 
- -4712-01-01 
" 
DETAIL: Missing left parenthesis or bracket. 
: INSERT INTO "schedule_blocks" ("date_range") VALUES ($1) RETURNING "id" 
    (0.1ms) ROLLBACK 
Completed 500 Internal Server Error in 496ms 

我該如何做這項工作?

+0

大問題,只是來問正是這一點。你在遷移中使用了什麼? – toxaq

+0

add_column:table_name,:col_name,:daterange – 99miles

+0

[psql](PostgreSQL)是PostgreSQL的命令行客戶端,並有自己的標籤。不要將它與PostgreSQL(或簡稱Postgres)混淆。我修好了它。 –

回答

7

將在軌道4,5可如果拉的請求將被合併 - https://github.com/rails/rails/pull/7345

+2

爲了節省挖掘的麻煩,看是否合併了範圍的拉取請求,結果如此。你可以閱讀關於使用範圍(和一些陷阱)在http://www.simontaranto.com/2013/12/31/using-postgresql-s-tsrange-range-type-with-rails.html – douglasr