thats strange: irb irb(main):001:0> require 'rubygems' => true irb(main):002:0> require 'active_record' => true irb(main):003:0> require 'active_record/version' => [] irb(main):004:0> ::ActiveRecord::VERSION::MAJOR => 2 irb(main):005:0> ::ActiveRecord::VERSION::MINOR => 3 irb(main):006:0> Time.zone = "UTC" => "UTC" irb(main):007:0> ActiveRecord::Base.time_zone_aware_attributes = true => true irb(main):008:0> ActiveRecord::Base.default_timezone = "UTC" => "UTC"
On 9/18/09, Luke Kanies <[email protected]> wrote: > > We already require 2.1 or better, and I'm running 2.3.something. > > > On Sep 17, 2009, at 6:58 PM, Ohad Levy wrote: > > > As far as I understand, it was introduced in Rails 2.1 (seems to be > > working on my 2.1 version). > > > > maybe add ::ActiveRecord::VERSION::MINOR >= 1 before the whole > > statement? > > > > Ohad > > On 9/18/09, Luke Kanies <[email protected]> wrote: > > Hmm. I just tried this in irb, and I don't even have a 'zone=' method > > on Time, even after loading active_record. > > > > Do you know where this method comes from? > > > > > > On Sep 16, 2009, at 6:46 PM, Ohad Levy wrote: > > > > > as far as I can understand from the rails code, that would only be > > > valid to AR, as Time.zone will return ActiveSupport::TimeZone > > > object, but Time.now still returns local time. > > > > > > On 9/17/09, Luke Kanies <[email protected]> wrote: > > > But you've got 'Time.zone = "UTC"', which is global behaviour, > > right? > > > > > > > > > On Sep 16, 2009, at 6:24 PM, Ohad Levy wrote: > > > > > > > The way I understand the problem is that all time object when > > saved > > > > into a database lose their timezone properties. > > > > this patch, make AR aware of timezones, and ensures that it does > > the > > > > right conversions when storing time objects for example: > > > > if you save last_compile in local time, AR will store it as utc, > > but > > > > when you read it AR will return a time object with local time zone > > > > offset. > > > > > > > > this is important when you share your database with other > > > > applications, where they expect all datetime objects to be in UTC. > > > > This does not change any other behavior of writing time in other > > > > places - e.g. your yaml files will still contain the timezone > > > > information as they are a dump of Time objects. > > > > > > > > Ohad > > > > > > > > On 9/17/09, Luke Kanies <[email protected]> wrote: > > > > How does this affect the rest of the system? It sets the TZ to > > UTC > > > > for everything, right? > > > > > > > > I know we should be doing this anyway, but if so we need to do > > so as > > > > part of a more obvious effort, rather than just as a Rails fix. > > > > > > > > On Sep 16, 2009, at 6:13 AM, Ohad Levy wrote: > > > > > > > > > From 1368df476535169785812c2f6400f84a4f5064bc Mon Sep 17 > > 00:00:00 > > > > 2001 > > > > > From: Ohad Levy <[email protected]> > > > > > Date: Wed, 16 Sep 2009 21:08:23 +0800 > > > > > Subject: [PATCH/puppet 1/1] fixes #2518 - This defaults all > > > datetime > > > > > fields in ActiveRecord to store in UTC vs the puppetmaster > > > localtime > > > > > Signed-off-by: Ohad Levy <[email protected]> > > > > > > > > > > --- > > > > > lib/puppet/rails.rb | 6 ++++++ > > > > > 1 files changed, 6 insertions(+), 0 deletions(-) > > > > > > > > > > diff --git a/lib/puppet/rails.rb b/lib/puppet/rails.rb > > > > > index fc8eacd..c8e9947 100644 > > > > > --- a/lib/puppet/rails.rb > > > > > +++ b/lib/puppet/rails.rb > > > > > @@ -22,6 +22,12 @@ module Puppet::Rails > > > > > ActiveRecord::Base.logger.level = Logger::DEBUG > > > > > end > > > > > > > > > > + # Ensure that Active Record uses UTC to store datetime > > > > > + # fixes #2518 > > > > > + Time.zone = "UTC" > > > > > + ActiveRecord::Base.time_zone_aware_attributes = true > > > > > + ActiveRecord::Base.default_timezone = "UTC" > > > > > + > > > > > ActiveRecord::Base.verify_active_connections! > > > > > > > > > > begin > > > > > -- > > > > > 1.6.0.4 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > One of the Ten Commandments for Technicians: > > > > (7) Work thou not on energized equipment, for if thou dost, > > thy > > > > fellow workers will surely buy beers for thy widow and > > > > console her in other ways. > > > > > > > > > --------------------------------------------------------------------- > > > > Luke Kanies | http://reductivelabs.com | http://madstop.com > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > At my lemonade stand I used to give the first glass away free and > > > charge > > > five dollars for the second glass. The refill contained the > > antidote. > > > -- Emo Phillips > > > > > > > > --------------------------------------------------------------------- > > > Luke Kanies | http://reductivelabs.com | http://madstop.com > > > > > > > > > > > > > > > > > > > -- > > > > Barondes' First Law: > > Science abhors contradictions; scientists' minds are replete with > > them. > > > > --------------------------------------------------------------------- > > Luke Kanies | http://reductivelabs.com | http://madstop.com > > > > > > > > > > > > > > -- > > The secret of being a bore is to tell everything. -- Voltaire > > --------------------------------------------------------------------- > Luke Kanies | http://reductivelabs.com | http://madstop.com > > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/puppet-dev?hl=en -~----------~----~----~----~------~----~------~--~---
