That makes sense. I'll look into putting it together as an extension. Thanks!
Best, Stephen On Wed, Jun 3, 2020 at 7:30 PM Jeremy Evans <[email protected]> wrote: > On Wednesday, June 3, 2020 at 5:14:26 PM UTC-7, Stephen Weil wrote: >> >> For our application, we have a database with values stored in PST, but >> handle all dates at the application level in UTC. We have used the named >> timezones extension, and set: >> >> Sequel.database_timezone = 'America/Los Angeles' >> Sequel.application_timezone = :utc >> >> This works fine for any DateTime field. For Date fields, this will not >> convert from UTC to PST, so 2020-06-04 00:55:49 UTC will get saved >> as 2020-06-04 instead of 2020-06-03. >> >> I don't know if this is really a "bug" per se. Given that these are date >> fields, the application should really be passing a Date and not a DateTime, >> and could handle the TZ logic itself. I did observe however that >> Database#typecast_value_date does explicitly handle DateTime and Time >> objects. In that method, adding: >> >> value = from_application_timestamp(value) >> >> inside the case condition for DateTime/Time handles the conversion >> gracefully. Do you see any other potential issues with this change? It does >> not appear to break any tests. >> > > I don't see any issues with this, but changing the behavior could > potentially cause problems for users who are relying on the current > behavior. This should be fairly easy to override using a Database > extension, though. I'd be OK shipping such a Database extension with > Sequel, if you are interesting in working on it. > > Thanks, > Jeremy > > -- > You received this message because you are subscribed to the Google Groups > "sequel-talk" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/sequel-talk/8deb5d8f-87cf-4166-ac08-8d4a8d436440%40googlegroups.com > <https://groups.google.com/d/msgid/sequel-talk/8deb5d8f-87cf-4166-ac08-8d4a8d436440%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "sequel-talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/sequel-talk/CANba2HMJ3tchpZVB-N93nZsgKiQdXBA3rH0-v6%3D78obsRu6%3D9A%40mail.gmail.com.
