我有一个 postgresql 数据库,我使用 Flyway 将脚本部署到该数据库。我使用 Maven Flyway 插件启动针对目标数据库的数据库构建。在该构建中,我有一些脚本可以执行以下操作:
create table my_table(
my_date_time timestamp with time zone not null
);
insert into my_table(my_date_time)
select '2000-01-01';
postgresql 数据库时区设置为 UTC。我的客户端计算机(运行 maven/flyway 构建)正在运行 CEST (UTC+2:00)。
当脚本运行时,数据库将上面的字符串解释为“1999-12-31 22:00:00+00:00”并将其写入存储。
看来,flyway 创建的 jdbc 客户端连接并未将其客户端时区设置为 UTC,而是采用 timstamp 字符串并将其解释为“2000-01-01 00:00:00+02:00”。
如何将 Flyway 创建的 jdbc 连接上的客户端时区设置为 UTC?是否有可以放置在我的 Flyway.conf 文件中的设置?
如果我将本地计算机时区更改为 UTC,问题就会消失,但我不想在我的开发工作站上这样做。
一位同事提出了以下建议
mvn -Duser.timezone=UTC flyway:migrate
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)