Embulk の MySQL output plugin で UTC で書き込めずにハマった

概要

  • MySQL のあるカラムに UTC でデータを放り込みたい
  • そのカラムの値は embulk preview では UTC で表示されている
  • しかし MySQL output plugin で MySQL に放り込むと JST換算 に変わってしまっている
  • なので MySQL output plugin の設定がおかしい

結論

out:options: { useLegacyDatetimeCode: false, serverTimezone: UTC } を追加する。

out:
  type: mysql
  (省略)
  options: { useLegacyDatetimeCode: false, serverTimezone: UTC }
  (省略)

補足

これがよい解決方法なのかは分かりません。

環境

mysql> SHOW variables LIKE '%time_zone%';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| system_time_zone | UTC   |
| time_zone        | UTC   |
+------------------+-------+
2 rows in set (0.01 sec)
$ mysql --version
mysql  Ver 8.0.12 for osx10.14 on x86_64 (Homebrew)

参考

Powered by はてなブログ