我使用Derby作为白盒测试代码的解决方案。在什么将成为我的生产数据库,我有一个列默认为UTC的系统时间戳。然而;我无法弄清楚如何在德比中做到这一点。有没有办法使用Derby设置这样的列?我现在已经用谷歌搜索了一段时间,并且找不到任何有用的东西。
答案 0 :(得分:1)
发布您尝试过的内容总是好的。
这适用于Derby 10.10:
ij> create table mytab (a int, b timestamp default current_timestamp);
0 rows inserted/updated/deleted
ij> insert into mytab (a) values (1);
1 row inserted/updated/deleted
ij> select * from mytab;
A |B
-----------------------------------------
1 |2013-08-01 17:04:17.458
1 row selected
答案 1 :(得分:1)
德比根本没有时区概念。虽然没有复杂的触发器调用java方法我无法解决这个问题,但我发现解决我真正的问题(单元测试)要简单得多。在我的单元测试中,我只是断言我的返回日期是由默认时区和UTC之间的差异而不是断言日期相等(或非常接近)。