ユーザー登録で「300円クーポン」プレゼント!まずは無料登録から!
募集をシェアしてメンターを探そう
シェア
エンジニア Rails6 #MySQL #docker #aws #CircleCI

本日4/1希望です!【初学者】本番環境でのChartkick、Groupdateを用いたグラフを反映できない ※開発環境はdockerを使用しております

4月1日
予算
3,000円 〜 7,000円
提案数
1人が提案中

現在25歳で、転職活動用のポートフォリオを作成している者です。
本番環境でのChartkick、Groupdateを用いたグラフを反映できず、困っております。
下記詳細です。


【使用技術・開発環境】
Ruby(2.6.5)
rails (6.0.0)
mysql(5.6.51)
docker(開発環境)
vscode
unicorn
nginx
【困っていること】
ec2内にcircleciを使い自動deploy後、開発環境では表示できていたグラフが反映されない。
↓エラーログ
[ec2-user@ip-172-31-3-250 log]$ tail -f production.log
[a39889b9-dee4-40ca-a709-552fa9bd9812] ActionView::Template::Error (Database missing time zone support for Asia/Tokyo - see https://github.com/ankane/groupdate#for-mysql):
[a39889b9-dee4-40ca-a709-552fa9bd9812] 81: <div class="card-content">
[a39889b9-dee4-40ca-a709-552fa9bd9812] 82: <h3 class="border-bottom mb-4 pb-4">今月のちりつも</h3>
[a39889b9-dee4-40ca-a709-552fa9bd9812] 83: <div class="chart">
[a39889b9-dee4-40ca-a709-552fa9bd9812] 84: <%= column_chart @achieved_stacks.group_by_day_of_month(:date, format: "%d").size, xtitle: "日付", ytitle: "ちりつも成功数", min: 0, max: 10%>
[a39889b9-dee4-40ca-a709-552fa9bd9812] 85: </div>

【対応したこと】
①開発環境(docker)、本番環境のtimezone確認。
※同様の設定だが開発環境では表記される。
↓開発環境

mysql> SHOW VARIABLES LIKE '%time_zone%';
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | UTC |
| time_zone | SYSTEM |
+------------------+--------+

↓本番環境
MariaDB [(none)]> show variables like '%time_zone%';
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | UTC |
| time_zone | SYSTEM |
+------------------+--------+

②ec2内DBのタイムゾーン設定変更を試みる。unknorwn or incorrectと出て設定できない。
MariaDB [(none)]> SHOW VARIABLES LIKE '%time_zone%';
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | UTC |
| time_zone | SYSTEM |
+------------------+--------+
2 rows in set (0.01 sec)
MariaDB [(none)]> SET SESSION time_zone = 'Asia/Tokyo';
ERROR 1298 (HY000): Unknown or incorrect time zone: 'Asia/Tokyo'

③application.rbのタイムゾーン設定をデフォルト(UTC)に変更し、再度デプロイ。しかし、エラーメッセージが
Database missing time zone support for Asia/Tokyo
の表記から↓
Database missing time zone support for Etc/UTC
に変わっただけであった。

group_by_day_of_monthによりエラーが出ていると推測しておりますが、対応策がなく困っております。
初歩的な質問となり恐縮ですが、ご確認いただければ幸いです。
何卒よろしくお願いいたします。

【お日にち】
4/1中でお願いしたいです

メンティーに提案してみましょう
募集をシェアしてメンターを探そう
シェア