Hotfix pithos 500 error
[pithos] / snf-pithos-app / README.upgrade
1 UPGRADE
2 =======
3
4 0.7.9 -> 0.7.10
5 ---------------
6 * Update settings.py (BACKEND_*, SERVICE_NAME, \*_EMAIL, \*_TARGET, IM_*)
7 * Update ``attributes`` table in mysql (backend)::
8     
9     mysql> update attributes set `key`='ETag' where `key`='hash';
10
11 * Upgrade ``im_user`` table (im app)::
12     
13     ALTER TABLE im_user ADD COLUMN 'password' VARCHAR(255);
14
15 0.7.10 -> 0.8.0
16 ---------------
17 * Upgrade ``public`` table in mysql (backend):
18   
19   * Run: mysqldump pithosdb public > public-table.sql
20   * mysql> drop table public;
21   * Update the codebase and run the server so the new public table is created
22   * From the sql dump above, take the row::
23     
24     INSERT INTO `public` VALUES (...);
25     
26     Rewrite as::
27     
28     INSERT INTO `public`(`path`) VALUES (...);
29     
30     And execute in the database
31
32 * Create settings.local with local setting overrides
33 * Install python-django-south
34 * Setup south::
35     
36     python manage.py syncdb
37     python manage.py migrate im 0001 --fake
38     python manage.py migrate im
39
40 0.8.0 -> 0.8.1
41 --------------
42 * Reset ``policy`` table in mysql (backend)::
43     
44     mysql> update policy set `value`='auto' where `key`='versioning';
45
46 0.8.1 -> 0.8.2
47 --------------
48 * Add the ``X-Forwarded-Protocol`` header directive in the apache configuration, as described in the admin guide
49 * Update ``attributes`` table in mysql (backend)::
50     
51     mysql> CREATE TABLE `attributes_new` (
52                `serial` int(11) NOT NULL,
53                `domain` varchar(255) COLLATE utf8_bin NOT NULL,
54                `key` varchar(255) COLLATE utf8_bin NOT NULL,
55                `value` varchar(255) COLLATE utf8_bin DEFAULT NULL,
56                PRIMARY KEY (`serial`,`domain`,`key`),
57                CONSTRAINT FOREIGN KEY (`serial`) REFERENCES `versions` (`serial`) ON DELETE CASCADE ON UPDATE CASCADE
58            ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
59     mysql> insert into attributes_new select `serial`, 'pithos', `key`, `value` from attributes;
60     mysql> drop table attributes;
61     mysql> alter table attributes_new rename to attributes;
62
63 * Update ``versions`` table in mysql (backend)::
64     
65     mysql> create temporary table tmp_uuids as select distinct node, uuid() as `uuid` from versions;
66     mysql> alter table versions add column `uuid` varchar(64) DEFAULT '' NOT NULL after `muser`;
67     mysql> update versions v, tmp_uuids u set v.`uuid` = u.`uuid` where v.`node` = u.`node`;
68     mysql> create index idx_versions_node_uuid on versions(uuid);
69
70 0.8.2 -> 0.9.0
71 --------------
72 * No upgrade path provided. Please reinstall and reconfigure.