3 #------------------------------------------#
4 # component db upgrade ver.1 (4.0 -> 5.5) #
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 sqlite3 ${PATH_NEW_DB} << EOF
31 PRAGMA journal_mode = PERSIST;
32 PRAGMA user_version = @COMPONENT_DB_VERSION@;
34 CREATE TABLE IF NOT EXISTS component_info (
35 package TEXT NOT NULL,
37 component_id TEXT NOT NULL,
38 component_type TEXT NOT NULL,
39 component_launch_mode TEXT NOT NULL,
40 component_main TEXT NOT NULL,
41 component_icon_display NOT NULL,
42 component_taskmanage NOT NULL,
43 PRIMARY KEY (component_id)
46 CREATE TABLE IF NOT EXISTS component_localized_info (
47 component_id TEXT NOT NULL,
48 component_locale TEXT NOT NULL DEFAULT 'No Locale',
51 PRIMARY KEY (component_id, component_locale)
52 FOREIGN KEY (component_id)
53 REFERENCES component_info(component_id) ON DELETE CASCADE
59 # Insert old data into new DB
60 InsertComponentInfo() {
61 echo " - Insert component_info"
62 TABLE=`sqlite3 ${PATH_DB} 'SELECT package, app_id, component_id, component_type, component_launch_mode, component_main, component_icon_display, component_taskmanage FROM component_info;'`
63 for ROW in ${TABLE}; do
64 IFS='|' read -ra VALUE <<< "${ROW}";
65 QUERY="INSERT INTO component_info(package, app_id, component_id, component_type, component_launch_mode, component_main, component_icon_display, component_taskmanage) VALUES('${VALUE[0]}', '${VALUE[1]}', '${VALUE[2]}', '${VALUE[3]}', '${VALUE[4]}', '${VALUE[5]}', '${VALUE[6]}', '${VALUE[7]}');"
66 echo " + Query: ${QUERY}"
67 sqlite3 ${PATH_NEW_DB} "${QUERY}"
71 InsertComponentLocalizedInfo() {
72 echo " - Insert component_localized_info"
73 TABLE=`sqlite3 ${PATH_DB} 'SELECT component_id, component_locale, component_label, component_icon FROM component_localized_info;'`
74 for ROW in ${TABLE}; do
75 IFS='|' read -ra VALUE <<< "${ROW}";
76 QUERY="INSERT INTO component_localized_info(component_id, component_locale, component_label, component_icon) VALUES('${VALUE[0]}', '${VALUE[1]}', '${VALUE[2]}', '${VALUE[3]}');"
77 echo " + Query: ${QUERY}"
78 sqlite3 ${PATH_NEW_DB} "${QUERY}"
87 InsertComponentLocalizedInfo
89 cp ${PATH_NEW_DB} ${PATH_DB}
90 cp ${PATH_NEW_DB}-journal ${PATH_DB}-journal
92 chown :system_share ${PATH_DB}
93 chown :system_share ${PATH_DB}-journal
94 chsmack -a User::Home ${PATH_DB}
95 chsmack -a User::Home ${PATH_DB}-journal
97 chmod 664 ${PATH_DB}-journal
103 rm ${PATH_NEW_DB}-journal
106 rm ${PATH_BACKUP_DB}-journal
109 echo "#### 1. Upgrade component db ####"
113 echo "#### 1. Upgrade component db [Done] ####"