2012-02-17 5 views
1

MYSQL에서 레코드가 업데이트되거나 생성되면 timestamp 속성은 시간을 저장하고 현재 시스템 시간에서 0530hrs를 뺍니다. 시스템 시간을 그대로 저장하고 싶습니다. 다음은Rails 3.1의 DateTime 필드 문제 해결

는 테이블 중 하나입니다 created_atupdated_at :

class CreateUsers < ActiveRecord::Migration 
    def self.up 
    create_table :users do |t| 
     t.string :username 
     t.string :first_name 
     t.string :last_name 
     t.timestamps 
    end 
    end 

t.timestamps

는 두 개의 추가 필드를 작성합니다. 이 필드는 시스템 시간에 맞지 않는 시간을 저장합니다. 데이터베이스

ID ENo  Name created_at      updated_at 
38 EMP1  Puja 2012-02-16 05:05:15.650740  2012-02-17 04:58:01.728120 

에서

일부 데이터는 실제 생성 시간 16 번째 2 월 2012 오전 10시 35분 15초이고 업데이트 시간은 2월 17일

에 오전 10시 28분 주위

이었다 무엇 이를 달성하기 위해 내 애플리케이션에 필요한 변경 사항이 있습니까?

답변

1

레일즈는 항상 DateTime 필드를 UTC (Universal Time Coordinated)로 저장합니다. 당신이 application.rb

config.time_zone = 'Central Time (US & Canada)' # UTC-5 

에서 다음 옵션을 설정하면 날짜는 아직 데이터베이스 수준에서 UTC에 저장됩니다하지만 당신이 그들에 액세스 할 때 변환됩니다. 설정에

+0

변경하는 모든 문제에 대한 이해를 해결로 .. 감사 피자 – Puja

0

업데이트하시기 바랍니다/environment.rb에 config.time_zone 속성에

config.time_zone = 'IST'