Change sync command.
[pithos] / 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         * Run: mysqldump pithosdb public > public-table.sql
19         * mysql> drop table public;
20         * Update the codebase and run the server so the new public table is created
21         * From the sql dump above, take the row:
22             
23                 INSERT INTO `public` VALUES (...);
24       
25           Rewrite as:
26             
27                 INSERT INTO `public`(`path`) VALUES (...);
28           
29           And execute in the database
30 * Create settings.local with local setting overrides
31 * Install python-django-south
32 * Setup south:
33     python manage.py syncdb
34     python manage.py migrate im 0001 --fake
35     python manage.py migrate im
36
37 0.8.0 -> 0.8.1
38 --------------
39 * Reset 'policy' table in mysql (backend):
40     
41     mysql> update policy set `value`='auto' where `key`='versioning';
42
43 0.8.1 -> 0.8.2
44 --------------
45 * Add the 'X-Forwarded-Protocol' header directive in the apache configuration, as described in the admin guide
46 * Update 'attributes' table in mysql (backend):
47     
48     mysql> CREATE TABLE `attributes_new` (
49                `serial` int(11) NOT NULL,
50                `domain` varchar(255) COLLATE utf8_bin NOT NULL,
51                `key` varchar(255) COLLATE utf8_bin NOT NULL,
52                `value` varchar(255) COLLATE utf8_bin DEFAULT NULL,
53                PRIMARY KEY (`serial`,`domain`,`key`),
54                CONSTRAINT FOREIGN KEY (`serial`) REFERENCES `versions` (`serial`) ON DELETE CASCADE ON UPDATE CASCADE
55            ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
56     mysql> insert into attributes_new select `serial`, 'pithos', `key`, `value` from attributes;
57     mysql> drop table attributes;
58     mysql> alter table attributes_new rename to attributes;
59
60 * Update 'versions' table in mysql (backend):
61     
62     mysql> create temporary table tmp_uuids as select distinct node, uuid() as `uuid` from versions;
63     mysql> alter table versions add column `uuid` varchar(64) DEFAULT '' NOT NULL after `muser`;
64     mysql> update versions v, tmp_uuids u set v.`uuid` = u.`uuid` where v.`node` = u.`node`;
65     mysql> create index idx_versions_node_uuid on versions(uuid);