From 58186415a0f232cf84ced650ecc1326df66f9c6d Mon Sep 17 00:00:00 2001
From: Jon Robertson <jonrober@stanford.edu>
Date: Thu, 9 Oct 2014 22:24:18 -0700
Subject: Added new column in the Duo table

New column is required to differentiate the Duo table entries now that
we have more than one Duo object type.  Added the new field and rebuilt
schema definitions and upgrade files.

Change-Id: Icf538eaded93f4f2820984c087d4850a586a7db1
---
 perl/sql/Wallet-Schema-0.09-0.10-SQLite.sql | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)
 create mode 100644 perl/sql/Wallet-Schema-0.09-0.10-SQLite.sql

(limited to 'perl/sql/Wallet-Schema-0.09-0.10-SQLite.sql')

diff --git a/perl/sql/Wallet-Schema-0.09-0.10-SQLite.sql b/perl/sql/Wallet-Schema-0.09-0.10-SQLite.sql
new file mode 100644
index 0000000..5feb89f
--- /dev/null
+++ b/perl/sql/Wallet-Schema-0.09-0.10-SQLite.sql
@@ -0,0 +1,26 @@
+-- Convert schema 'sql/Wallet-Schema-0.09-SQLite.sql' to 'sql/Wallet-Schema-0.10-SQLite.sql':;
+
+BEGIN;
+
+-- Back up Duo data to a temp table.  SQLite has limited ALTER TABLE support,
+-- so we need to do this to alter the keys on the table.
+CREATE TEMPORARY TABLE duo_backup (
+  du_name varchar(255) NOT NULL,
+  du_key varchar(255) NOT NULL,
+  PRIMARY KEY (du_name)
+);
+INSERT INTO duo_backup SELECT du_name,du_key FROM duo;
+DROP TABLE duo;
+
+-- Create the new Duo table and move the old data into it.
+CREATE TABLE duo (
+  du_name varchar(255) NOT NULL,
+  du_type varchar(16) NOT NULL,
+  du_key varchar(255) NOT NULL,
+  PRIMARY KEY (du_name, du_type),
+  FOREIGN KEY (du_type, du_name) REFERENCES objects(ob_type, ob_name)
+);
+INSERT INTO duo SELECT du_name,du_key,'duo' FROM duo_backup;
+DROP TABLE duo_backup;
+
+COMMIT;
-- 
cgit v1.2.3

