2015-02-18 3 views
1

Мой сервер - западное побережье США, но все время, записанное на сервере MySQL, должно выполняться в формате UTC, чтобы я мог использовать TimeZone для пользователей позднее. Прямо сейчас Настройка на индийское время.Rails TimeZone in Production

Есть ли какая-либо конфигурация, которую мне нужно сделать, чтобы это работало. я добавил следующие:

//application.rb 
config.time_zone = 'UTC' 
config.active_record.default_timezone :utc 

Есть ли какие-либо другие настройки мне нужно сделать, чтобы сказать, что рельсы, пожалуйста, сохранить содержимое в формате UTC?

+0

Это может вам помочь. http://stackoverflow.com/questions/28226367/how-to-handle-mysql-timezone-in-script/28227116#28227116 –

+1

Можете ли вы использовать тип данных TIMESTAMP? (Все ли временные метки в вашей системе лежат между 1970 и 2037 годами?) Если вы уже используете этот тип данных, ваше время уже хранится в формате UTC. –

ответ

1

В приложении rails время, записанное в MySQL, автоматически принимается в UTC. Что происходит, когда вы даете config.time_zone = 'UTC' в application.rb, рельсы преобразуют это время из UTC (хранится в MySQL) в часовой пояс, указанный в application.rb. Поэтому я думаю, что ничего не нужно делать.

Надеюсь, это поможет.