summaryrefslogtreecommitdiff
path: root/scripts/101.appsvc_upgrade.sh
blob: 9ac912461af8ffdec02d4799ab2236eadaf3bf8b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#!/bin/sh

#------------------------------------------#
# appsvc upgrade (2.4 -> 3.0)              #
#------------------------------------------#

# Macro
PATH=/bin:/usr/bin:/sbin:/usr/sbin

DB_DIR_24=/opt/dbspace
DB_DIR_30=/opt/usr/home/owner/.applications/dbspace

DB_APPSVC_24=$DB_DIR_24/.appsvc.db
DB_APPSVC_30=$DB_DIR_30/.appsvc.db

# Create table
sqlite3 $DB_APPSVC_24 << EOF
CREATE TABLE IF NOT EXISTS alias_info (
	alias_appid TEXT NOT NULL,
	appid TEXT NOT NULL,
	PRIMARY KEY (alias_appid)
);

CREATE TABLE IF NOT EXISTS alias_info_for_uid (
	appid TEXT NOT NULL,
	uid INTEGER NOT NULL,
	is_enabled TEXT NOT NULL DEFAULT 'false',
	PRIMARY KEY (appid, uid)
	FOREIGN KEY (appid)
	REFERENCES alias_info(appid)
	ON DELETE CASCADE
);

CREATE TRIGGER IF NOT EXISTS update_alias_info_for_uid
	AFTER UPDATE ON alias_info_for_uid
	BEGIN
		DELETE FROM alias_info_for_uid
		WHERE is_enabled='true';
	END;
EOF

# Copy DB
cp -rf $DB_APPSVC_24 $DB_APPSVC_30
cp -rf $DB_APPSVC_24-journal $DB_APPSVC_30-journal

chown owner:users $DB_APPSVC_30
chown owner:users $DB_APPSVC_30-journal

chsmack -a User::Home $DB_APPSVC_30
chsmack -a User::Home $DB_APPSVC_30-journal

chmod 666 $DB_APPSVC_24
chmod 666 $DB_APPSVC_24-journal

chsmack -a User::Home $DB_APPSVC_24
chsmack -a User::Home $DB_APPSVC_24-journal