use local-time for timestamp conversions; + revert: timestamptz in db

This commit is contained in:
Helmut Merz 2024-05-16 09:54:28 +02:00
parent bee8d6d75e
commit 3f3da9b69b
3 changed files with 6 additions and 3 deletions

View file

@ -6,7 +6,7 @@
:version "0.0.1"
:homepage "https://www.cyberconcepts.org"
:description ""
:depends-on (:dbi :str :sxql)
:depends-on (:dbi :local-time :str :sxql)
:components ((:file "forge/forge")
(:file "storage/storage")
(:file "storage/tracking" :depends-on ("storage/storage"))

View file

@ -42,7 +42,8 @@
(let ((vl (head-proplist track)))
(with-slots ((trid trackid) (ts time-stamp) data) track
(if trid (setf (getf vl :trackid) trid))
(if ts (setf (getf vl :timestamp) ts))
(if ts (setf (getf vl :timestamp)
(format nil "~a" (local-time:universal-to-timestamp ts))))
(if data (setf (getf vl :data) data)))
vl))
@ -75,7 +76,7 @@
(nconc
`((trackid :type ,id-type :primary-key t :not-null t))
hf-def
`((timestamp :type timestamp :not-null t :default current_timestamp)
`((timestamp :type timestamptz :not-null t :default current_timestamp)
(data :type ,json-type :not-null t :default |'{}'|)))))
(create-indexes st table tn (indexes cont))))

View file

@ -43,9 +43,11 @@
(storage:drop-table st :testing.tracks)
(tracking:create-table cont)
(setf tr (tracking:make-item cont "t01" "john"))
(setf (tracking:time-stamp tr) (get-universal-time))
(== (tracking:head tr) '("t01" "john"))
(== (tracking:head-proplist tr) '(:username "john" :taskid "t01"))
(== (tracking:data tr) nil)
(tracking:insert tr)
(== (tracking:trackid tr) 1)
(print (local-time:universal-to-timestamp (tracking:time-stamp tr)))
))