diff --git a/sql/database-create.sql b/sql/database-create.sql index 3829bfb11f86795de4263fe8d201de1e5578d62a..3fbf699763e5793abbbcab52951681864dcad616 100644 --- a/sql/database-create.sql +++ b/sql/database-create.sql @@ -3552,8 +3552,10 @@ CREATE TABLE `project_leases` ( `inception` timestamp NOT NULL default CURRENT_TIMESTAMP, `lease_end` timestamp NOT NULL default '2037-01-19 03:14:07', `last_used` timestamp NOT NULL default '0000-00-00 00:00:00', - `state` enum('valid','unapproved','grace','locked','expired','initializing') NOT NULL default 'unapproved', + `last_checked` timestamp NOT NULL default '0000-00-00 00:00:00', + `state` enum('valid','unapproved','grace','locked','expired') NOT NULL default 'unapproved', `statestamp` timestamp NOT NULL default '0000-00-00 00:00:00', + `renewals` int(10) unsigned NOT NULL default '0', `locked` datetime default NULL, `locker_pid` int(11) default '0', PRIMARY KEY (`lease_idx`), diff --git a/sql/updates/4/375 b/sql/updates/4/375 new file mode 100644 index 0000000000000000000000000000000000000000..a385f062a5d1b5ae999c931aed440776da19f8e1 --- /dev/null +++ b/sql/updates/4/375 @@ -0,0 +1,34 @@ +# +# project_leases: +# 1. get rid of ill-advised initializing state. +# 2. add last_checked timestamp. +# 3. add renewals count. +# +use strict; +use libdb; + +sub DoUpdate($$$) +{ + my ($dbhandle, $dbname, $version) = @_; + + DBQueryFatal("alter table project_leases change state ". + "state enum('valid','unapproved','grace','locked','expired') ". + "NOT NULL default 'unapproved'"); + if (! DBSlotExists("project_leases", "last_checked")) { + DBQueryFatal("alter table project_leases add ". + "`last_checked` timestamp ". + "NOT NULL default '0000-00-00 00:00:00' ". + "after `last_used`"); + } + if (! DBSlotExists("project_leases", "renewals")) { + DBQueryFatal("alter table project_leases add ". + "`renewals` int(10) unsigned NOT NULL default '0' ". + "after `statestamp`"); + } + return 0; + +} + +# Local Variables: +# mode:perl +# End: