From b3004b8d172cfb39d64806a8136e214dc80d4c58 Mon Sep 17 00:00:00 2001 From: Christian Veigl Date: Mon, 4 Jun 2012 09:25:42 +0000 Subject: [PATCH] simplify up/down scripts (cudos to See also --- db_scripts/diff/8629.up | 36 +++++++++++++++++++++--------------- db_scripts/diff/8889.down | 15 --------------- db_scripts/diff/8889.up | 37 ------------------------------------- 3 files changed, 21 insertions(+), 67 deletions(-) delete mode 100644 db_scripts/diff/8889.down delete mode 100644 db_scripts/diff/8889.up diff --git a/db_scripts/diff/8629.up b/db_scripts/diff/8629.up index 6d048ac0..5af1cc34 100644 --- a/db_scripts/diff/8629.up +++ b/db_scripts/diff/8629.up @@ -5,24 +5,30 @@ INSERT INTO language_strings (code,language,string) VALUES ('Client.Voip.Invalid INSERT INTO language_strings (code,language,string) VALUES ('Client.Voip.InvalidEnum','es','Invalid enum'); INSERT INTO language_strings (code,language,string) VALUES ('Client.Voip.InvalidEnum','fr','Invalid enum'); -ALTER TABLE voip_preferences MODIFY COLUMN data_type enum('boolean','int','string','enum'); - CREATE TABLE voip_preferences_enum ( - preference_id int(11) unsigned, - label varchar(128), - value varchar(128), - primary key (preference_id, value), - foreign key (preference_id) references voip_preferences (id) + id INT PRIMARY KEY AUTO_INCREMENT, + preference_id INT(11) unsigned, + label VARCHAR(128), + value VARCHAR(128), + usr_pref TINYINT (1) DEFAULT 0, + dom_pref TINYINT (1) DEFAULT 0, + peer_pref TINYINT (1) DEFAULT 0, + FOREIGN KEY (preference_id) REFERENCES voip_preferences (id) ) ENGINE=InnoDB; --- Example enum-preference: --- +ALTER TABLE voip_preferences MODIFY COLUMN data_type enum('boolean','int','string','enum'); + +-- Example enum-preference +-- Use "fwd_to_pstn" for users and also for domains but with different "not-set-option"s +-- -- INSERT INTO voip_preferences (attribute, type, max_occur, usr_pref, dom_pref, peer_pref, internal, data_type, read_only, description) -- VALUES('fwd_to_pstn', 1, 1, 1, 1, 0, 0, 'enum', 0, 'Imagine some really useful information here'); -- --- INSERT INTO voip_preferences_enum (preference_id, label, value) --- VALUES ((SELECT id FROM voip_preferences WHERE attribute = 'fwd_to_pstn'), 'use domain default', 'default'); --- INSERT INTO voip_preferences_enum (preference_id, label, value) --- VALUES ((SELECT id FROM voip_preferences WHERE attribute = 'fwd_to_pstn'), 'forward', '1'); --- INSERT INTO voip_preferences_enum (preference_id, label, value) --- VALUES ((SELECT id FROM voip_preferences WHERE attribute = 'fwd_to_pstn'), 'do not forward', '2'); +-- INSERT INTO voip_preferences_enum (preference_id, label, value, usr_pref, dom_pref, peer_pref) +-- VALUES ((SELECT id FROM voip_preferences WHERE attribute = 'fwd_to_pstn'), 'use domain default', NULL, 1, 0, 0); +-- INSERT INTO voip_preferences_enum (preference_id, label, value, usr_pref, dom_pref, peer_pref) +-- VALUES ((SELECT id FROM voip_preferences WHERE attribute = 'fwd_to_pstn'), '', NULL, 0, 1, 0); +-- INSERT INTO voip_preferences_enum (preference_id, label, value, usr_pref, dom_pref, peer_pref) +-- VALUES ((SELECT id FROM voip_preferences WHERE attribute = 'fwd_to_pstn'), 'forward', '1', 1, 1, 0); +-- INSERT INTO voip_preferences_enum (preference_id, label, value, usr_pref, dom_pref, peer_pref) +-- VALUES ((SELECT id FROM voip_preferences WHERE attribute = 'fwd_to_pstn'), 'do not forward', '2', 1, 1, 0); diff --git a/db_scripts/diff/8889.down b/db_scripts/diff/8889.down deleted file mode 100644 index b2fc7582..00000000 --- a/db_scripts/diff/8889.down +++ /dev/null @@ -1,15 +0,0 @@ -USE provisioning; - -CREATE TABLE voip_preferences_enum_old ( - preference_id int(11) unsigned, - label varchar(128), - value varchar(128), - primary key (preference_id, value), - foreign key (preference_id) references voip_preferences (id) -) ENGINE=InnoDB; - -INSERT INTO voip_preferences_enum_old (preference_id, label, value) -SELECT preference_id, label, value FROM voip_preferences_enum; - -DROP TABLE voip_preferences_enum; -ALTER TABLE voip_preferences_enum_old RENAME TO voip_preferences_enum; diff --git a/db_scripts/diff/8889.up b/db_scripts/diff/8889.up deleted file mode 100644 index 1395f8f0..00000000 --- a/db_scripts/diff/8889.up +++ /dev/null @@ -1,37 +0,0 @@ -USE provisioning; - --- note: voip_preferences_enum_new can not --- set (usr|dom|peer)_pref. they will all --- initially be NULL - -CREATE TABLE voip_preferences_enum_new ( - id INT PRIMARY KEY AUTO_INCREMENT, - preference_id INT(11) unsigned, - label VARCHAR(128), - value VARCHAR(128), - usr_pref TINYINT (1) DEFAULT 0, - dom_pref TINYINT (1) DEFAULT 0, - peer_pref TINYINT (1) DEFAULT 0, - FOREIGN KEY (preference_id) REFERENCES voip_preferences (id) -) ENGINE=InnoDB; - -INSERT INTO voip_preferences_enum_new (preference_id, label, value) -SELECT * FROM voip_preferences_enum; - -DROP TABLE voip_preferences_enum; -ALTER TABLE voip_preferences_enum_new RENAME TO voip_preferences_enum; - --- Example enum-preference --- Use "fwd_to_pstn" for users and also for domains but with different "not-set-option"s --- --- INSERT INTO voip_preferences (attribute, type, max_occur, usr_pref, dom_pref, peer_pref, internal, data_type, read_only, description) --- VALUES('fwd_to_pstn', 1, 1, 1, 1, 0, 0, 'enum', 0, 'Imagine some really useful information here'); --- --- INSERT INTO voip_preferences_enum (preference_id, label, value, usr_pref, dom_pref, peer_pref) --- VALUES ((SELECT id FROM voip_preferences WHERE attribute = 'fwd_to_pstn'), 'use domain default', NULL, 1, 0, 0); --- INSERT INTO voip_preferences_enum (preference_id, label, value, usr_pref, dom_pref, peer_pref) --- VALUES ((SELECT id FROM voip_preferences WHERE attribute = 'fwd_to_pstn'), '', NULL, 0, 1, 0); --- INSERT INTO voip_preferences_enum (preference_id, label, value, usr_pref, dom_pref, peer_pref) --- VALUES ((SELECT id FROM voip_preferences WHERE attribute = 'fwd_to_pstn'), 'forward', '1', 1, 1, 0); --- INSERT INTO voip_preferences_enum (preference_id, label, value, usr_pref, dom_pref, peer_pref) --- VALUES ((SELECT id FROM voip_preferences WHERE attribute = 'fwd_to_pstn'), 'do not forward', '2', 1, 1, 0);