AR ホームベーカリー

オイラのアウトプット用ホームベーカリー!

dateformat の返す型が変わっていた

AppleSillicon 向けの ColdFusion が 2023 しかないやんけ! と半ばキレながら環境作っていたら、特定の処理で 0000-00-00 00:00:00 を変換できない、という例外が出るようになってしまった。

調べた所、 JDBC の仕様変更っぽい? ということがわかった。

tracker.adobe.com

なにはともかく、 -Dcoldfusion.jdbc.mysql.datetime.str=trueJVM 引数に指定して、あとは ColdFusion 2021/2023 であれば Update を最新まで適応しておけ、という話。

だったんだけど、対応しても問題が解決しなかった。

その後、他の作業もあって放置していたんだけど、社内向けにアナウンスが出て以下の URL が送られてきた。

helpx.adobe.com

ヴォッ、なんか指定する値が違う……となったのだった。

20230130追記

CF-4211276 のトラッカーは以下が対応のようだった。すまん!

cfassociates.samuraiz.co.jp

-Dcoldfusion.jdbc.mysql.datetime.str=true を指定すれば良い。 ただこれも治らなかった。

ちなみに serverTimezone=JST 指定しているとエラーが出るパターンがあったので、外しておくほうがよさそう (MySQL 側にタイムゾーン設定を投入したほうがよさそう)。

12factor app だとサーバは全部 UTC にしてアプリケーション側でタイムゾーン変換しろ、みたいなのだっけか? まあよくわからん。