就如同上一篇提到的,Trac 在 1.1.1 後新增了 time
格式,所以本來的 DateFieldPlugin 有些資料要轉換。我這邊只有用在 Due Date,所以就是轉 due_date
的資料而已。
先把 due_date
都改成 due_date_bak
:
UPDATE ticket_custom SET name = 'due_date_bak' WHERE name = 'due_date';
然後重新計算資料,這邊是因為所有的系統都是 UTC,所以直接轉就可以了:
INSERT INTO ticket_custom (ticket, name, value) SELECT ticket, 'due_date', LPAD(UNIX_TIMESTAMP(STR_TO_DATE(value, '%Y-%m-%d')) * 1000000, 18, '0') FROM ticket_custom WHERE name = 'due_date_bak';
而我的 Report 有用到 due_date
欄位的東西,本來是 c.value
直接輸出,現在要改成:
FROM_UNIXTIME(CONVERT(c.value / 1000000, UNSIGNED INTEGER), '%Y-%m-%d') AS due_date
Trac 1.2 相較於 1.0 最不習慣的地方應該是修改界面的位置改變了,現在 Add Comment 變成在 Modify 下面,有點不太習慣,但之後用久了應該就會習慣了。其他的修一修改一改都會動了...