Rails, SQL Server und Daten vor 1970

Verwendet man den activerecord-sqlserver-adapter für Rails, um auf eine Microsoft SQL Server Datenbank zuzugreifen wird man feststellen, daß man keine Daten vor dem Jahr 1970 bekommt, weil der Adapter ein Time Objekt, statt DateTime verwendet.
Daher sollte man stattdessen den rails-sqlserver adapter verwenden:

gem uninstall activerecord-sqlserver-adapter
gem install rails-sqlserver-2000-2005-adapter -s http://gems.github.com

Wenn man dann noch die deutsche Ländereinstellung für SQL Server verwendet, muß man noch das :db Datumsformat ändern:

ActiveSupport::CoreExtensions::Time::Conversions::DATE_FORMATS.merge!(
   :db => '%Y-%d-%m %H:%M:%S'
)

Dies kann man z.B. in die Datei config/environment.rb einfügen.

Dieser Beitrag wurde unter Programming abgelegt und mit , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.
blog comments powered by Disqus