36 lines
1.3 KiB
SQL
36 lines
1.3 KiB
SQL
# This script is intended to assist when upgrading a database from the old
|
|
# country region-based tax scheme to the new geographical tax zones.
|
|
|
|
#DROP TABLE zones_to_geo_zones;
|
|
#DROP TABLE geo_zones;
|
|
|
|
CREATE TABLE zones_to_geo_zones (
|
|
association_id int(5) NOT NULL auto_increment,
|
|
zone_country_id int(5) NOT NULL,
|
|
zone_id int(5) NULL,
|
|
geo_zone_id int(5) NULL,
|
|
last_modified datetime NULL,
|
|
date_added datetime NOT NULL,
|
|
PRIMARY KEY (association_id)
|
|
);
|
|
|
|
CREATE TABLE geo_zones (
|
|
geo_zone_id int(5) NOT NULL auto_increment,
|
|
geo_zone_name varchar(32) NOT NULL,
|
|
geo_zone_description varchar(255) NOT NULL,
|
|
last_modified datetime NULL,
|
|
date_added datetime NOT NULL,
|
|
PRIMARY KEY (geo_zone_id)
|
|
);
|
|
ALTER TABLE tax_rates ADD COLUMN tax_priority int(5) NOT NULL DEFAULT 1 after tax_class_id;
|
|
|
|
|
|
INSERT INTO geo_zones (geo_zone_id,geo_zone_name,geo_zone_description,last_modified,date_added)
|
|
SELECT tr.tax_zone_id,zone_name,zone_name,NULL,now() from tax_rates tr,zones z,countries c
|
|
WHERE tr.tax_zone_id=z.zone_id AND c.countries_id=z.zone_country_id
|
|
GROUP BY tr.tax_zone_id;
|
|
|
|
INSERT INTO zones_to_geo_zones (zone_country_id,zone_id,geo_zone_id,date_added)
|
|
SELECT z.zone_country_id, z.zone_id,tr.tax_zone_id,now() FROM tax_rates tr, zones z WHERE z.zone_id=tr.tax_zone_id
|
|
GROUP BY tr.tax_zone_id;
|