1
我正在使用ActiveRecord 4.2.4來處理數據庫。Ruby + ActiveRecord:如何配置導致'yyyy-mm-dd'日期格式的日期字段?
一些背景資料:
- 紅寶石 '1.9.3'
- ActiveRecord的 '4.2.4'
- 黃瓜 '2.1.0' 我不使用Rails
- 。
我最近就遇到了這個問題,這是產生顯示輸出文件:在
ROLE | UPDATED_DATE
Teacher | 2016-10-26 09:54:06 UTC
但不想要的東西「2016年10月26日9時54分06秒UTC」 UPDATED_DATE,我只期望「2016年10月26日」的文件中顯示,如下圖所示:
ROLE | UPDATED_DATE
Teacher | 2016-10-26
的UPDATED_DATE列在表中有一個類型爲DATE。我執行查詢而不會將其轉換爲任何內容。而且我沒有使用Ruby對象/模型來映射數據庫表,而只是簡單地運行SQL並將結果打印到文件中。以下是我在代碼:
def initialize
ActiveRecord::Base.time_zone_aware_attributes = false
db_config = DBConfig.get_config_file(DB_CONFIG)
ActiveRecord::Base.establish_connection(
:adapter => db_config['adapter'],
:username => db_config['username'],
:password => db_config['password'],
:database => db_config['database']
)
@connection = ActiveRecord::Base.connection
end
def extract_file
delimiter = '|'
output_file = 'extract.txt'
query = "Select role, UPDATED_DATE from ROLE where USER_ID = 'user1'"
# loop through the result
File.open(output_file, 'w'){|f|
result = @connection.exec_query(query)
result.rows.each do |row|
array << (row.join(delimiter))
if array.length >= 100
f.puts array.join("\n")
array = []
end
end
end
我嘗試添加下面一行:
ActiveRecord::Timestamp.record_timestamps = false
但是,我得到了以下錯誤:
undefined method `record_timestamps=' for ActiveRecord::Timestamp:Module
據現場:
http://www.rubydoc.info/gems/activerecord/4.2.4/ActiveRecord/Timestamp
Timestamping can be turned off by setting:
config.active_record.record_timestamps = false
在哪裏配置它?在config/database.yml文件中?請分享您的解決方案。