2014-04-01 86 views
2

我創建了一個phrases表,默認ActiveRecord添加了兩列:created_atupdated_atRuby on Rails - 刪除活動記錄t.timestamps列上的毫秒數

class CreatePhrases < ActiveRecord::Migration 
    def change 
    create_table :phrases do |t| 
     t.string :phrase 
     t.string :emotion 
     t.string :category 

     t.timestamps 
    end 
    end 
end 

我分享這個數據庫,以及updated_at列值這個樣子目前:

2014-03-12 20:53:26.846635

我需要刪除毫秒停此列。每一個值,該值時自動更新一個記錄時創建的,應該是這樣的:

2014-03-12 20:53:26

我怎樣可以刪除掉毫秒此列?

回答

0

這是出於輸出目的嗎?如果是這樣,你可能只需要重寫輸出方法。像這樣的事情在您的視圖 -

def created_at 
    read_attribute(:created_at).strftime("%Y-%m-%d %H:%M:%S") 
end 

def updated_at 
    read_attribute(:updated_at).strftime("%Y-%m-%d %H:%M:%S") 
end 

然後把在關注和分享當中你的模型。

+0

好主意,但實際上這個數據庫正在共享,數據正在被移植到另一個SQL數據庫中。無論在另一端使用什麼形式的SQL,都需要時間戳來切斷毫秒。現在提出的解決方案是將我的Postgres時間戳轉換爲varchar(23),並且轉換回作爲日期時間...這只是變得非常黑客,如果我可以從我的數據庫中消除毫秒,會更好。 – Luigi

+0

是的,轉換爲時間戳會起作用。但是,如果您的數據集足夠大,可以瀏覽所有表中的所有記錄,並且轉換可能會很有趣。 –

相關問題