3 #------------------------------------------#
4 # appsvc db upgrade ver.1 #
5 #------------------------------------------#
8 PATH=/bin:/usr/bin:/sbin:/usr/sbin
11 PATH_NEW_DB="${PATH_DB}.new"
12 PATH_BACKUP_DB="${PATH_DB}.bak"
16 cp ${PATH_DB} ${PATH_BACKUP_DB}
17 cp ${PATH_DB}-journal ${PATH_BACKUP_DB}-journal
19 if [ -e "${PATH_NEW_DB}" ]; then
23 if [ -e "${PATH_NEW_DB}-journal" ]; then
24 rm ${PATH_NEW_DB}-journal
30 echo " - Create new DB: ${PATH_NEW_DB}"
32 sqlite3 ${PATH_NEW_DB} << EOF
33 PRAGMA journal_mode = PERSIST;
34 PRAGMA user_version = 1;
36 CREATE TABLE IF NOT EXISTS appsvc (
38 mime_type TEXT DEFAULT 'NULL',
39 uri TEXT DEFAULT 'NULL',
41 PRIMARY KEY (operation,mime_type,uri)
44 CREATE TABLE IF NOT EXISTS alias_info (
45 alias_appid TEXT NOT NULL,
47 enable TEXT NOT NULL DEFAULT 'true',
48 PRIMARY KEY (alias_appid)
51 CREATE TABLE IF NOT EXISTS alias_info_for_uid (
54 is_enabled TEXT NOT NULL DEFAULT 'false',
55 PRIMARY KEY (appid, uid)
58 CREATE TRIGGER IF NOT EXISTS update_alias_info_for_uid
59 AFTER UPDATE ON alias_info_for_uid
61 DELETE FROM alias_info_for_uid
62 WHERE is_enabled='true';
65 CREATE TABLE IF NOT EXISTS allowed_info (
67 allowed_appid TEXT NOT NULL,
68 PRIMARY KEY (appid, allowed_appid)
73 # Insert old data into new DB
75 echo " - Insert appsvc"
76 TABLE=`sqlite3 ${PATH_DB} 'SELECT operation, mime_type, uri, pkg_name FROM appsvc;'`
77 for ROW in ${TABLE}; do
78 IFS='|' read -ra VALUE <<< "${ROW}";
79 QUERY="INSERT INTO appsvc(operation, mime_type, uri, pkg_name) VALUES('${VALUE[0]}', '${VALUE[1]}', '${VALUE[2]}', '${VALUE[3]}');"
80 echo " + Query: ${QUERY}"
81 sqlite3 ${PATH_NEW_DB} "${QUERY}"
86 echo " - Insert alias_info"
87 TABLE=`sqlite3 ${PATH_DB} 'SELECT alias_appid, appid, enable FROM alias_info;'`
88 for ROW in ${TABLE}; do
89 IFS='|' read -ra VALUE <<< "${ROW}";
90 QUERY="INSERT INTO alias_info(alias_appid, appid, enable) VALUES('${VALUE[0]}', '${VALUE[1]}', '${VALUE[2]}');"
91 echo " + Query: ${QUERY}"
92 sqlite3 ${PATH_NEW_DB} "${QUERY}"
96 InsertAliasInfoForUid() {
97 echo " - Insert alias_info_for_uid"
98 TABLE=`sqlite3 ${PATH_DB} 'SELECT appid, uid, is_enabled FROM alias_info_for_uid;'`
99 for ROW in ${TABLE}; do
100 IFS='|' read -ra VALUE <<< "${ROW}";
101 QUERY="INSERT INTO alias_info_for_uid(appid, uid, is_enabled) VALUES('${VALUE[0]}', '${VALUE[1]}', '${VALUE[2]}');"
102 echo " + Query: ${QUERY}"
103 sqlite3 ${PATH_NEW_DB} "${QUERY}"
107 InsertAllowedInfo() {
108 echo " - Insert allowed_info"
109 TABLE=`sqlite3 ${PATH_DB} 'SELECT appid, allowed_appid FROM allowed_info;'`
110 for ROW in ${TABLE}; do
111 IFS='|' read -ra VALUE <<< "${ROW}";
112 QUERY="INSERT INTO allowed_info(appid, allowed_appid) VALUES('${VALUE[0]}', '${VALUE[1]}');"
113 echo " + Query: ${QUERY}"
114 sqlite3 ${PATH_NEW_DB} "${QUERY}"
124 InsertAliasInfoForUid
127 cp ${PATH_NEW_DB} ${PATH_DB}
128 cp ${PATH_NEW_DB}-journal ${PATH_DB}-journal
134 rm ${PATH_NEW_DB}-journal
137 rm ${PATH_BACKUP_DB}-journal
140 echo "#### 1. Upgrade appsvc db ####"
144 echo "#### 1. Upgrade appsvc db [Done] ####"