Support old user certs table's migration 87/87487/2
authorsangwan.kwon <sangwan.kwon@samsung.com>
Thu, 8 Sep 2016 08:21:11 +0000 (17:21 +0900)
committersangwan.kwon <sangwan.kwon@samsung.com>
Fri, 9 Sep 2016 04:44:06 +0000 (13:44 +0900)
* When platform upgrade 2.4 -> 3.0,
* copy old user certs table to new db.

Change-Id: I4b01321b1e640c5d65184bbb1d883128f61581ef
Signed-off-by: sangwan.kwon <sangwan.kwon@samsung.com>
etc/upgrade/cert-svc-db-upgrade.sh.in
tests/upgrade/cert-svc-test-upgrade.sh.in
tests/upgrade/certs-meta-old.db

index 0fdd3c0..3f0f4a8 100755 (executable)
@@ -23,6 +23,8 @@ PATH=/bin:/usr/bin:/sbin:/usr/sbin
 OLD_DB=@CERT_SVC_OLD_DB_PATH@/certs-meta-old.db
 NEW_DB=@CERT_SVC_DB_PATH@/certs-meta.db
 
+MIGRATION_USER_TABLE=migration-user-table.sql
+
 # backup old database
 mv @CERT_SVC_OLD_DB_PATH@/certs-meta.db $OLD_DB
 rm -rf @CERT_SVC_OLD_DB_PATH@/certs-meta.db-journal
@@ -30,6 +32,16 @@ rm -rf @CERT_SVC_OLD_DB_PATH@/certs-meta.db-journal
 # install new database
 cp @UPGRADE_DATA_PATH@/certs-meta.db $NEW_DB
 
+# migration user certs db
+touch $MIGRATION_USER_TABLE
+echo "ATTACH DATABASE '$OLD_DB' as 'tmp';" >> $MIGRATION_USER_TABLE
+echo "INSERT INTO wifi SELECT * FROM tmp.wifi;" >> $MIGRATION_USER_TABLE
+echo "INSERT INTO vpn SELECT * FROM tmp.vpn;" >> $MIGRATION_USER_TABLE
+echo "INSERT INTO email SELECT * FROM tmp.email;" >> $MIGRATION_USER_TABLE
+echo "DETACH DATABASE 'tmp';" >> $MIGRATION_USER_TABLE
+sqlite3 $NEW_DB ".read $MIGRATION_USER_TABLE"
+rm -rf $MIGRATION_USER_TABLE
+
 # update disabled certs on db
 disabled_certs_cnt=`sqlite3 $OLD_DB "SELECT count(*) FROM disabled_certs;"`
 if [ "$disabled_certs_cnt" != "0" ]
index bbdce60..d301007 100755 (executable)
@@ -105,3 +105,28 @@ then
 else
        echo "[+] Success to sync bundle file with CERT_SVC_CA_BUNDLE."
 fi
+
+# testcase 5. user table migration
+wifi_certs_cnt=`sqlite3 $NEW_DB "SELECT count(*) FROM wifi;"`
+if [ "$wifi_certs_cnt" != "1" ]
+then
+       echo "[-] Failed to migrate wifi table."
+else
+       echo "[+] Success to migrate wifi table."
+fi
+
+vpn_certs_cnt=`sqlite3 $NEW_DB "SELECT count(*) FROM vpn;"`
+if [ "$vpn_certs_cnt" != "1" ]
+then
+       echo "[-] Failed to migrate vpn table."
+else
+       echo "[+] Success to migrate vpn table."
+fi
+
+email_certs_cnt=`sqlite3 $NEW_DB "SELECT count(*) FROM email;"`
+if [ "$email_certs_cnt" != "1" ]
+then
+       echo "[-] Failed to migrate email table."
+else
+       echo "[+] Success to migrate email table."
+fi
index 3d48d9f..bafd028 100644 (file)
Binary files a/tests/upgrade/certs-meta-old.db and b/tests/upgrade/certs-meta-old.db differ