From 3b30c172800e718a833ed0d0a19e35dc0baccbc9 Mon Sep 17 00:00:00 2001
From: Leigh B Stoller <stoller@flux.utah.edu>
Date: Wed, 6 Aug 2014 14:43:40 -0600
Subject: [PATCH] Add uuid slot to apt_profiles, which provides a uuid for the
 entire profile (all versions).

---
 sql/database-create.sql |  1 +
 sql/updates/4/400       | 21 +++++++++++++++++++++
 2 files changed, 22 insertions(+)
 create mode 100644 sql/updates/4/400

diff --git a/sql/database-create.sql b/sql/database-create.sql
index 0fb6f93011..b68e025c29 100644
--- a/sql/database-create.sql
+++ b/sql/database-create.sql
@@ -130,6 +130,7 @@ CREATE TABLE `apt_profiles` (
   `version` int(8) unsigned NOT NULL default '0',
   `pid` varchar(48) NOT NULL default '',
   `pid_idx` mediumint(8) unsigned NOT NULL default '0',
+  `uuid` varchar(40) NOT NULL,
   `public` tinyint(1) NOT NULL default '0',
   `shared` tinyint(1) NOT NULL default '0',
   `listed` tinyint(1) NOT NULL default '0',
diff --git a/sql/updates/4/400 b/sql/updates/4/400
new file mode 100644
index 0000000000..b4ad3d698d
--- /dev/null
+++ b/sql/updates/4/400
@@ -0,0 +1,21 @@
+#
+# Update to profiles.
+#
+use strict;
+use libdb;
+
+sub DoUpdate($$$)
+{
+    my ($dbhandle, $dbname, $version) = @_;
+
+    if (!DBSlotExists("apt_profiles", "uuid")) {
+	DBQueryFatal("ALTER TABLE apt_profiles ADD ".
+		     " `uuid` varchar(40) NOT NULL after pid_idx");
+	DBQueryFatal("update apt_profiles set uuid=uuid()");
+    }
+    return 0;
+}
+
+# Local Variables:
+# mode:perl
+# End:
-- 
GitLab