Adds fields required for vcard in addresses.
[platal.git] / upgrade / 1.1.2 / 01_geocoding.sql
CommitLineData
0f5f1b70
SJ
1DROP TABLE IF EXISTS profile_addresses_components;
2DROP TABLE IF EXISTS profile_addresses_components_enum;
3
4CREATE TABLE profile_addresses_components_enum (
5 id BIGINT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
6 short_name VARCHAR(255) NOT NULL DEFAULT '',
7 long_name VARCHAR(255) NOT NULL DEFAULT '',
8 types SET('street_address', 'route', 'intersection', 'political', 'country', 'administrative_area_level_1', 'administrative_area_level_2', 'administrative_area_level_3', 'colloquial_area', 'locality', 'sublocality', 'neighborhood', 'premise', 'subpremise', 'postal_code', 'natural_feature', 'airport', 'park', 'point_of_interest', 'post_box', 'street_number', 'floor', 'room') NOT NULL DEFAULT '',
9 PRIMARY KEY (id),
10 UNIQUE KEY (types, long_name),
11 KEY (types, short_name)
12) ENGINE=InnoDB, CHARSET=utf8;
13
14CREATE TABLE profile_addresses_components (
15 pid INT(11) UNSIGNED NOT NULL DEFAULT 0,
16 jobid INT(6) UNSIGNED NOT NULL DEFAULT 0,
17 groupid SMALLINT(5) UNSIGNED NOT NULL DEFAULT 0,
18 type ENUM('home', 'job', 'hq', 'group') NOT NULL DEFAULT 'home',
19 id TINYINT(3) UNSIGNED NOT NULL DEFAULT 0,
20 component_id BIGINT(10) UNSIGNED NOT NULL DEFAULT 0,
21 PRIMARY KEY (pid, jobid, groupid, type, id, component_id),
22 KEY(component_id),
23 FOREIGN KEY (pid, jobid, groupid, type, id) REFERENCES profile_addresses (pid, jobid, groupid, type, id) ON UPDATE CASCADE ON DELETE CASCADE,
24 FOREIGN KEY (component_id) REFERENCES profile_addresses_components_enum (id) ON UPDATE CASCADE ON DELETE CASCADE
25) ENGINE=InnoDB, CHARSET=utf8;
26
27ALTER TABLE profile_addresses DROP FOREIGN KEY profile_addresses_ibfk_1;
28ALTER TABLE profile_addresses DROP FOREIGN KEY profile_addresses_ibfk_2;
29ALTER TABLE profile_addresses DROP FOREIGN KEY profile_addresses_ibfk_3;
30ALTER TABLE profile_addresses DROP FOREIGN KEY profile_addresses_ibfk_4;
31
32ALTER TABLE profile_addresses DROP COLUMN accuracy;
33ALTER TABLE profile_addresses DROP COLUMN postalCode;
34ALTER TABLE profile_addresses DROP COLUMN localityId;
35ALTER TABLE profile_addresses DROP COLUMN subAdministrativeAreaId;
36ALTER TABLE profile_addresses DROP COLUMN administrativeAreaId;
37ALTER TABLE profile_addresses DROP COLUMN countryId;
38ALTER TABLE profile_addresses DROP COLUMN north;
39ALTER TABLE profile_addresses DROP COLUMN south;
40ALTER TABLE profile_addresses DROP COLUMN east;
41ALTER TABLE profile_addresses DROP COLUMN west;
42
43ALTER TABLE profile_addresses ADD COLUMN formatted_address TEXT NOT NULL DEFAULT '' AFTER postalText;
44ALTER TABLE profile_addresses ADD COLUMN types SET('street_address', 'route', 'intersection', 'political', 'country', 'administrative_area_level_1', 'administrative_area_level_2', 'administrative_area_level_3', 'colloquial_area', 'locality', 'sublocality', 'neighborhood', 'premise', 'subpremise', 'postal_code', 'natural_feature', 'airport', 'park', 'point_of_interest', 'post_box', 'street_number', 'floor', 'room') NOT NULL DEFAULT '' AFTER formatted_address;
45ALTER TABLE profile_addresses ADD COLUMN southwest_latitude FLOAT(10, 7) DEFAULT NULL AFTER longitude;
46ALTER TABLE profile_addresses ADD COLUMN southwest_longitude FLOAT(10, 7) DEFAULT NULL AFTER southwest_latitude;
47ALTER TABLE profile_addresses ADD COLUMN northeast_latitude FLOAT(10, 7) DEFAULT NULL AFTER southwest_longitude;
48ALTER TABLE profile_addresses ADD COLUMN northeast_longitude FLOAT(10, 7) DEFAULT NULL AFTER northeast_latitude;
49ALTER TABLE profile_addresses ADD COLUMN location_type ENUM('ROOFTOP', 'RANGE_INTERPOLATED', 'GEOMETRIC_CENTER', 'APPROXIMATE') DEFAULT NULL AFTER northeast_longitude;
50ALTER TABLE profile_addresses ADD COLUMN partial_match BOOLEAN NOT NULL DEFAULT false AFTER location_type;
51
52UPDATE profile_addresses
53 SET latitude = NULL, longitude = NULL;
54
55DROP TABLE IF EXISTS geoloc_administrativeareas;
56DROP TABLE IF EXISTS geoloc_localities;
57DROP TABLE IF EXISTS geoloc_subadministrativeareas;
58
59-- vim:set syntax=mysql: