]> pd.if.org Git - zpackage/blobdiff - db.sql
add status column to package
[zpackage] / db.sql
diff --git a/db.sql b/db.sql
index 6a8f51ed05ec56e63b639cceeb5efb7c48f6284e..2c03a4a43d1827e3cce1b159b2522ad587485fe5 100644 (file)
--- a/db.sql
+++ b/db.sql
@@ -28,6 +28,7 @@ create table packages (
        description     text,
        architecture    text,
        url     text,
+       status  text,
        licenses        text, -- hash of actual license?  need table for more than one?
        packager        text,
        build_time      integer default (strftime('%s', 'now')),
@@ -38,12 +39,12 @@ create table packages (
 without rowid
 ;
 
-create table packagestatus (
-       pkgid   text primary key,
-       status  text, -- installed installing removed upgraded
-       -- asof timestamp
-       asof    integer default (strftime('%s', 'now'))
-);
+-- handle package status history with a logging trigger.
+create trigger logpkgstatus after update of status on packages
+begin insert into zpmlog (action,target,info)
+               values (printf('status change %s %s', OLD.status, NEW.status),
+               printf('%s-%s-%s', NEW.package, NEW.version, NEW.release),
+               NULL); END;
 
 create table packagetags (
        -- package id triple
@@ -197,7 +198,8 @@ create table packagegroups (
 -- sub-invocations, probably an environment variable set if not
 -- already set by zpm, probably a uuid or a timestamp
 create table zpmlog (
-       ts      integer, -- timestamp of action, may need sub-second
+       ts      text default (strftime('%Y-%m-%d %H:%M:%f', 'now')),
+               -- timestamp of action
        action  text,
        target  text, -- packagename, repo name, etc
        info    text -- human readable