Downloads Documentation Community Contribute Demo






Show Sidebar
Login | Register
Show
Ignore:
Timestamp:
07/17/08 15:20:10 (6 months ago)
Author:
catullus
Message:

sync-bidrectional: partly merge

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • openmrs/branches/data_synchronization_bidirectional

    • Property svn:ignore changed from
      build*
      dist*
      ${env.CATALINA_HOME}
      docs
      .metadata
      setup.inf
      setup.rpt
      to
      build*
      dist*
      ${env.CATALINA_HOME}
      docs
      .metadata
      setup.inf
      setup.rpt
      *.iws
      *.ipr
      *.iml
  • openmrs/branches/data_synchronization_bidirectional/metadata/model/update-to-latest-db.mysqldiff.sql

    r4306 r4969  
    220220        SELECT 'Fixing obs_group_id values on all obs that were grouped' as 'Current step: (3/8)' FROM dual; 
    221221        DROP TABLE IF EXISTS `new_obs_groups_mapping`; 
    222         CREATE TEMPORARY TABLE `new_obs_groups_mapping` ( 
    223           `grouper_obs_id` int(11) NOT NULL, 
    224           `obs_group_id` int(11) default NULL, 
    225           PRIMARY KEY  (`grouper_obs_id`) 
    226     ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 
     222        CREATE TABLE `new_obs_groups_mapping` ( 
     223                `grouper_obs_id` int(11) NOT NULL, 
     224                `obs_group_id` int(11) default NULL, 
     225                PRIMARY KEY  (`grouper_obs_id`), 
     226                KEY `grouper` (`grouper_obs_id`), 
     227                KEY `the_group_id` (`obs_group_id`) 
     228        ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 
    227229         
    228230        -- This populates the previous table 
     
    241243         
    242244        -- This changes the obs_group_ids on the obs table to point at the obs_id of the grouper obs 
     245        SELECT 'Applying temporary table values to obs table' as 'Current step: (3.5/8)' FROM dual; 
    243246        UPDATE  
    244247                `obs` o left join new_obs_groups_mapping mapping on o.obs_group_id = mapping.obs_group_id 
     
    264267        IF (SELECT COUNT(*)<>'0' FROM obs o WHERE concept_id = @OTHER_CONCEPT_ID AND EXISTS (SELECT * FROM obs o2 WHERE o2.obs_group_id = o.obs_id)) THEN 
    265268                SELECT 'These obs rows pertaining to obs_groups have the been given a generic concept_id. You should find and correct with their right grouping concept_id' AS '########## WARNING! #############' FROM DUAL; 
    266                 SELECT * FROM obs_group WHERE concept_id = @OTHER_CONCEPT_ID;  
     269                SELECT * FROM obs WHERE concept_id = @OTHER_CONCEPT_ID;  
    267270        END IF; 
    268271 
     
    270273        SELECT 'Cleaning up the obs that think they are in an obs_group but really are not.' AS 'Current step (5/8):' FROM dual; 
    271274        DROP TABLE IF EXISTS `single_member_obs_groups`; 
    272         CREATE TEMPORARY TABLE `single_member_obs_groups` ( 
     275        CREATE TABLE `single_member_obs_groups` ( 
    273276          `obs_id` int(11) NOT NULL, 
    274277      `obs_group_id` int(11) NOT NULL, 
    275           PRIMARY KEY  (`obs_id`) 
     278          PRIMARY KEY  (`obs_id`), 
     279          KEY `the_group_id` (`obs_group_id`) 
    276280    ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 
    277281        INSERT INTO `single_member_obs_groups` 
     
    316320        -- create a temp table to hold the obs_id of obs groupers that need to be voided 
    317321        DROP TABLE IF EXISTS `obs_groupers_needing_voided`; 
    318         CREATE TEMPORARY TABLE `obs_groupers_needing_voided` ( 
     322        CREATE TABLE `obs_groupers_needing_voided` ( 
    319323                `obs_id` int(11) NOT NULL, 
    320324                `voided_by` int(11) default NULL, 
     
    614618call diff_procedure('1.3.0.01'); 
    615619 
     620#---------------------------------------- 
     621# OpenMRS Datamodel version 1.3.0.02 
     622# Darius Jazayeri               March 13, 2008 
     623# Adding modified* columns to Cohort 
     624#---------------------------------------- 
     625 
     626DROP PROCEDURE IF EXISTS diff_procedure; 
     627 
     628delimiter // 
     629 
     630CREATE PROCEDURE diff_procedure (IN new_db_version VARCHAR(10)) 
     631 BEGIN 
     632        IF (SELECT REPLACE(property_value, '.', '0') < REPLACE(new_db_version, '.', '0') FROM global_property WHERE property = 'database_version') THEN 
     633        SELECT CONCAT('Updating to ', new_db_version) AS 'Datamodel Update:' FROM dual; 
     634 
     635        ALTER TABLE `cohort` ADD COLUMN `changed_by` int(11) default NULL; 
     636        ALTER TABLE `cohort` ADD COLUMN `date_changed` datetime default NULL; 
     637        ALTER TABLE `cohort` ADD KEY `user_who_changed_cohort` (`changed_by`); 
     638        ALTER TABLE `cohort` ADD CONSTRAINT `user_who_changed_cohort` FOREIGN KEY (`changed_by`) REFERENCES `users` (`user_id`); 
     639         
     640        UPDATE `global_property` SET property_value=new_db_version WHERE property = 'database_version'; 
     641         
     642        END IF; 
     643 END; 
     644// 
     645 
     646delimiter ; 
     647call diff_procedure('1.3.0.02'); 
     648 
     649#---------------------------------------- 
     650# OpenMRS Datamodel version 1.3.0.03 
     651# Mike Seaton         March 31, 2008 
     652# API-Refactoring of Program tables 
     653#---------------------------------------- 
     654 
     655DROP PROCEDURE IF EXISTS diff_procedure; 
     656 
     657delimiter // 
     658 
     659CREATE PROCEDURE diff_procedure (IN new_db_version VARCHAR(10)) 
     660 BEGIN 
     661        IF (SELECT REPLACE(property_value, '.', '0') < REPLACE(new_db_version, '.', '0') FROM global_property WHERE property = 'database_version') THEN 
     662        SELECT CONCAT('Updating to ', new_db_version) AS 'Datamodel Update:' FROM dual; 
     663 
     664        ALTER TABLE `program` ADD COLUMN `name` varchar(50); 
     665        UPDATE program p SET p.name = (SELECT n.name FROM concept_name n WHERE n.concept_id = p.concept_id LIMIT 1); 
     666        ALTER TABLE `program` MODIFY `name` varchar(50) NOT NULL; 
     667        ALTER TABLE `program` ADD COLUMN `description` varchar(500); 
     668        ALTER TABLE `program` CHANGE `voided` `retired` tinyint(1) NOT NULL default '0'; 
     669        ALTER TABLE `program` DROP FOREIGN KEY `user_who_voided_program`; 
     670        ALTER TABLE `program` DROP COLUMN `voided_by`; 
     671        ALTER TABLE `program` DROP COLUMN `date_voided`; 
     672        ALTER TABLE `program` DROP COLUMN `void_reason`; 
     673 
     674        ALTER TABLE `program_workflow` CHANGE COLUMN `voided` `retired` tinyint(1) NOT NULL default '0'; 
     675        ALTER TABLE `program_workflow` DROP FOREIGN KEY `workflow_voided_by`; 
     676        ALTER TABLE `program_workflow` CHANGE COLUMN `voided_by` `changed_by` int(11) default NULL; 
     677        ALTER TABLE `program_workflow` ADD CONSTRAINT `workflow_changed_by` FOREIGN KEY (`changed_by`) REFERENCES `users` (`user_id`); 
     678        ALTER TABLE `program_workflow` CHANGE COLUMN `date_voided` `date_changed` datetime default NULL; 
     679        ALTER TABLE `program_workflow` DROP COLUMN `void_reason`; 
     680         
     681        ALTER TABLE `program_workflow_state` CHANGE COLUMN `voided` `retired` tinyint(1) NOT NULL default '0'; 
     682        ALTER TABLE `program_workflow_state` DROP FOREIGN KEY `state_voided_by`; 
     683        ALTER TABLE `program_workflow_state` CHANGE COLUMN `voided_by` `changed_by` int(11) default NULL; 
     684        ALTER TABLE `program_workflow_state` ADD CONSTRAINT `state_changed_by` FOREIGN KEY (`changed_by`) REFERENCES `users` (`user_id`); 
     685        ALTER TABLE `program_workflow_state` CHANGE COLUMN `date_voided` `date_changed` datetime default NULL; 
     686        ALTER TABLE `program_workflow_state` DROP COLUMN `void_reason`; 
     687 
     688        UPDATE `global_property` SET property_value=new_db_version WHERE property = 'database_version'; 
     689         
     690        END IF; 
     691 END; 
     692// 
     693 
     694delimiter ; 
     695call diff_procedure('1.3.0.03'); 
     696 
     697 
     698#---------------------------------------- 
     699# OpenMRS Datamodel version 1.3.0.04 
     700# Ben Wolfe               April 1st, 2008 
     701# Adding retired* columns to Order Type 
     702#---------------------------------------- 
     703 
     704DROP PROCEDURE IF EXISTS diff_procedure; 
     705 
     706delimiter // 
     707 
     708CREATE PROCEDURE diff_procedure (IN new_db_version VARCHAR(10)) 
     709 BEGIN 
     710        IF (SELECT REPLACE(property_value, '.', '0') < REPLACE(new_db_version, '.', '0') FROM global_property WHERE property = 'database_version') THEN 
     711        SELECT CONCAT('Updating to ', new_db_version) AS 'Datamodel Update:' FROM dual; 
     712 
     713        ALTER TABLE `order_type` ADD COLUMN `retired` tinyint(1) NOT NULL default 0; 
     714        ALTER TABLE `order_type` ADD COLUMN `retired_by` int(11) default NULL; 
     715        ALTER TABLE `order_type` ADD COLUMN `date_retired` datetime default NULL; 
     716        ALTER TABLE `order_type` ADD COLUMN `retire_reason` varchar(255) default NULL; 
     717        ALTER TABLE `order_type` ADD KEY `user_who_retired_order_type` (`retired_by`); 
     718        ALTER TABLE `order_type` ADD CONSTRAINT `user_who_retired_order_type` FOREIGN KEY (`retired_by`) REFERENCES `users` (`user_id`); 
     719        ALTER TABLE `order_type` ADD INDEX `retired_status` (`retired`); 
     720 
     721        UPDATE `global_property` SET property_value=new_db_version WHERE property = 'database_version'; 
     722         
     723        END IF; 
     724 END; 
     725// 
     726 
     727delimiter ; 
     728call diff_procedure('1.3.0.04'); 
     729 
     730#---------------------------------------- 
     731# OpenMRS Datamodel version 1.3.0.05 
     732# Brian McKown               April 4, 2008 
     733# Adding retired* columns to Encounter Type 
     734#---------------------------------------- 
     735 
     736DROP PROCEDURE IF EXISTS diff_procedure; 
     737 
     738delimiter // 
     739 
     740CREATE PROCEDURE diff_procedure (IN new_db_version VARCHAR(10)) 
     741 BEGIN 
     742    IF (SELECT REPLACE(property_value, '.', '0') < REPLACE(new_db_version, '.', '0') FROM global_property WHERE property = 'database_version') THEN 
     743    SELECT CONCAT('Updating to ', new_db_version) AS 'Datamodel Update:' FROM dual; 
     744 
     745    ALTER TABLE `encounter_type` ADD COLUMN `retired` tinyint(1) NOT NULL default 0; 
     746    ALTER TABLE `encounter_type` ADD COLUMN `retired_by` int(11) default NULL; 
     747    ALTER TABLE `encounter_type` ADD COLUMN `date_retired` datetime default NULL; 
     748    ALTER TABLE `encounter_type` ADD KEY `user_who_retired_encounter_type` (`retired_by`); 
     749    ALTER TABLE `encounter_type` ADD CONSTRAINT `user_who_retired_encounter_type` FOREIGN KEY (`retired_by`) REFERENCES `users` (`user_id`); 
     750    ALTER TABLE `encounter_type` ADD INDEX `encounter_type_retired_status` (`retired`); 
     751 
     752    UPDATE `global_property` SET property_value=new_db_version WHERE property = 'database_version'; 
     753     
     754    END IF; 
     755 END; 
     756// 
     757 
     758delimiter ; 
     759call diff_procedure('1.3.0.05'); 
     760 
     761#---------------------------------------- 
     762# OpenMRS Datamodel version 1.3.0.06 
     763# Ben Wolfe               April 8th, 2008 
     764# Adding retired* columns to PatientIdentifierType 
     765#---------------------------------------- 
     766 
     767DROP PROCEDURE IF EXISTS diff_procedure; 
     768 
     769delimiter // 
     770 
     771CREATE PROCEDURE diff_procedure (IN new_db_version VARCHAR(10)) 
     772 BEGIN 
     773        IF (SELECT REPLACE(property_value, '.', '0') < REPLACE(new_db_version, '.', '0') FROM global_property WHERE property = 'database_version') THEN 
     774        SELECT CONCAT('Updating to ', new_db_version) AS 'Datamodel Update:' FROM dual; 
     775 
     776        ALTER TABLE `patient_identifier_type` ADD COLUMN `retired` tinyint(1) NOT NULL default 0; 
     777        ALTER TABLE `patient_identifier_type` ADD COLUMN `retired_by` int(11) default NULL; 
     778        ALTER TABLE `patient_identifier_type` ADD COLUMN `date_retired` datetime default NULL; 
     779        ALTER TABLE `patient_identifier_type` ADD COLUMN `retire_reason` varchar(255) default NULL; 
     780        ALTER TABLE `patient_identifier_type` ADD KEY `user_who_retired_patient_identifier_type` (`retired_by`); 
     781        ALTER TABLE `patient_identifier_type` ADD CONSTRAINT `user_who_retired_patient_identifier_type` FOREIGN KEY (`retired_by`) REFERENCES `users` (`user_id`); 
     782        ALTER TABLE `patient_identifier_type` ADD INDEX `retired_status` (`retired`); 
     783 
     784        UPDATE `global_property` SET property_value=new_db_version WHERE property = 'database_version'; 
     785         
     786        END IF; 
     787 END; 
     788// 
     789 
     790delimiter ; 
     791call diff_procedure('1.3.0.06'); 
     792 
     793#---------------------------------------- 
     794# OpenMRS Datamodel version 1.3.0.07 
     795# Brian McKown               April 8, 2008 
     796# Adding retired* columns to Location 
     797# Added retire_reason col to EncounterType 
     798#---------------------------------------- 
     799 
     800DROP PROCEDURE IF EXISTS diff_procedure; 
     801 
     802delimiter // 
     803 
     804CREATE PROCEDURE diff_procedure (IN new_db_version VARCHAR(10)) 
     805 BEGIN 
     806    IF (SELECT REPLACE(property_value, '.', '0') < REPLACE(new_db_version, '.', '0') FROM global_property WHERE property = 'database_version') THEN 
     807    SELECT CONCAT('Updating to ', new_db_version) AS 'Datamodel Update:' FROM dual; 
     808 
     809    ALTER TABLE `encounter_type` ADD COLUMN `retire_reason` varchar(255) default NULL; 
     810    ALTER TABLE `encounter_type` DROP INDEX `encounter_type_retired_status`,  
     811    ADD INDEX `retired_status` (`retired`); 
     812 
     813    ALTER TABLE `location` ADD COLUMN `retired` tinyint(1) NOT NULL default 0; 
     814    ALTER TABLE `location` ADD COLUMN `retired_by` int(11) default NULL; 
     815    ALTER TABLE `location` ADD COLUMN `date_retired` datetime default NULL; 
     816    ALTER TABLE `location` ADD COLUMN `retire_reason` varchar(255) default NULL; 
     817    ALTER TABLE `location` ADD KEY `user_who_retired_location` (`retired_by`); 
     818    ALTER TABLE `location` ADD CONSTRAINT `user_who_retired_location` FOREIGN KEY (`retired_by`) REFERENCES `users` (`user_id`); 
     819    ALTER TABLE `location` ADD INDEX `retired_status` (`retired`); 
     820 
     821    UPDATE `global_property` SET property_value=new_db_version WHERE property = 'database_version'; 
     822     
     823    END IF; 
     824 END; 
     825// 
     826 
     827delimiter ; 
     828call diff_procedure('1.3.0.07'); 
     829 
     830#---------------------------------------- 
     831# OpenMRS Datamodel version 1.3.0.08 
     832# Ben Wolfe               May 16th, 2008 
     833# Adding retired* columns to Concept 
     834 
     835#---------------------------------------- 
     836 
     837DROP PROCEDURE IF EXISTS diff_procedure; 
     838 
     839delimiter // 
     840 
     841CREATE PROCEDURE diff_procedure (IN new_db_version VARCHAR(10)) 
     842 BEGIN 
     843    IF (SELECT REPLACE(property_value, '.', '0') < REPLACE(new_db_version, '.', '0') FROM global_property WHERE property = 'database_version') THEN 
     844    SELECT CONCAT('Updating to ', new_db_version) AS 'Datamodel Update:' FROM dual; 
     845 
     846    ALTER TABLE `concept` ADD COLUMN `retired_by` int(11) default NULL; 
     847    ALTER TABLE `concept` ADD COLUMN `date_retired` datetime default NULL; 
     848    ALTER TABLE `concept` ADD COLUMN `retire_reason` varchar(255) default NULL; 
     849    ALTER TABLE `concept` ADD KEY `user_who_retired_concept` (`retired_by`); 
     850    ALTER TABLE `concept` ADD CONSTRAINT `user_who_retired_concept` FOREIGN KEY (`retired_by`) REFERENCES `users` (`user_id`); 
     851         
     852        ALTER TABLE `concept_datatype` ADD COLUMN `retired` tinyint(1) NOT NULL default 0; 
     853    ALTER TABLE `concept_datatype` ADD COLUMN `retired_by` int(11) default NULL; 
     854    ALTER TABLE `concept_datatype` ADD COLUMN `date_retired` datetime default NULL; 
     855    ALTER TABLE `concept_datatype` ADD COLUMN `retire_reason` varchar(255) default NULL; 
     856    ALTER TABLE `concept_datatype` ADD KEY `user_who_retired_concept_datatype` (`retired_by`); 
     857    ALTER TABLE `concept_datatype` ADD CONSTRAINT `user_who_retired_concept_datatype` FOREIGN KEY (`retired_by`) REFERENCES `users` (`user_id`); 
     858        ALTER TABLE `concept_datatype` ADD INDEX `concept_datatype_retired_status` (`retired`); 
     859 
     860        ALTER TABLE `concept_class` ADD COLUMN `retired` tinyint(1) NOT NULL default 0; 
     861    ALTER TABLE `concept_class` ADD COLUMN `retired_by` int(11) default NULL; 
     862    ALTER TABLE `concept_class` ADD COLUMN `date_retired` datetime default NULL; 
     863    ALTER TABLE `concept_class` ADD COLUMN `retire_reason` varchar(255) default NULL; 
     864    ALTER TABLE `concept_class` ADD KEY `user_who_retired_concept_class` (`retired_by`); 
     865    ALTER TABLE `concept_class` ADD CONSTRAINT `user_who_retired_concept_class` FOREIGN KEY (`retired_by`) REFERENCES `users` (`user_id`); 
     866        ALTER TABLE `concept_class` ADD INDEX `concept_class_retired_status` (`retired`); 
     867         
     868        ALTER TABLE `drug` CHANGE COLUMN `voided` `retired` tinyint(1) NOT NULL default '0'; 
     869        ALTER TABLE `drug` DROP FOREIGN KEY `user_who_voided_drug`; 
     870        ALTER TABLE `drug` CHANGE COLUMN `voided_by` `retired_by` int(11) default NULL; 
     871        ALTER TABLE `drug` ADD CONSTRAINT `drug_retired_by` FOREIGN KEY (`retired_by`) REFERENCES `users` (`user_id`); 
     872        ALTER TABLE `drug` CHANGE COLUMN `date_voided` `date_retired` datetime default NULL; 
     873        ALTER TABLE `drug` CHANGE COLUMN `void_reason` `retire_reason` datetime default NULL; 
     874         
     875        ALTER TABLE `concept_name` ADD COLUMN `concept_name_id` int(11) UNIQUE KEY NOT NULL AUTO_INCREMENT; 
     876        ALTER TABLE `concept_name` ADD INDEX `unique_concept_name_id` (`concept_id`); 
     877        ALTER TABLE `concept_name` DROP PRIMARY KEY, ADD PRIMARY KEY (`concept_name_id`); 
     878         
     879    UPDATE `global_property` SET property_value=new_db_version WHERE property = 'database_version'; 
     880     
     881    END IF; 
     882 END; 
     883// 
     884 
     885delimiter ; 
     886call diff_procedure('1.3.0.08'); 
     887 
     888 
     889#---------------------------------------- 
     890# OpenMRS Datamodel version 1.3.0.09 
     891# Darius Jazayeri               May 4, 2008 
     892# Adding retired column to Field 
     893#---------------------------------------- 
     894 
     895DROP PROCEDURE IF EXISTS diff_procedure; 
     896 
     897delimiter // 
     898 
     899CREATE PROCEDURE diff_procedure (IN new_db_version VARCHAR(10)) 
     900 BEGIN 
     901    IF (SELECT REPLACE(property_value, '.', '0') < REPLACE(new_db_version, '.', '0') FROM global_property WHERE property = 'database_version') THEN 
     902    SELECT CONCAT('Updating to ', new_db_version) AS 'Datamodel Update:' FROM dual; 
     903 
     904    ALTER TABLE `field` ADD COLUMN `retired` tinyint(1) NOT NULL default 0; 
     905    ALTER TABLE `field` ADD COLUMN `retired_by` int(11) default NULL; 
     906    ALTER TABLE `field` ADD COLUMN `date_retired` datetime default NULL; 
     907    ALTER TABLE `field` ADD COLUMN `retire_reason` varchar(255) default NULL; 
     908    ALTER TABLE `field` ADD KEY `user_who_retired_field` (`retired_by`); 
     909    ALTER TABLE `field` ADD CONSTRAINT `user_who_retired_field` FOREIGN KEY (`retired_by`) REFERENCES `users` (`user_id`); 
     910        ALTER TABLE `field` ADD INDEX `field_retired_status` (`retired`); 
     911 
     912    UPDATE `global_property` SET property_value=new_db_version WHERE property = 'database_version'; 
     913     
     914    END IF; 
     915 END; 
     916// 
     917 
     918delimiter ; 
     919call diff_procedure('1.3.0.09'); 
     920 
     921 
     922#---------------------------------------- 
     923# OpenMRS Datamodel version 1.3.0.10 
     924# Ben Wolfe               May 24, 2008 
     925# Adding retired column to PersonAttributeType 
     926#---------------------------------------- 
     927 
     928DROP PROCEDURE IF EXISTS diff_procedure; 
     929 
     930delimiter // 
     931 
     932CREATE PROCEDURE diff_procedure (IN new_db_version VARCHAR(10)) 
     933 BEGIN 
     934    IF (SELECT REPLACE(property_value, '.', '0') < REPLACE(new_db_version, '.', '0') FROM global_property WHERE property = 'database_version') THEN 
     935    SELECT CONCAT('Updating to ', new_db_version) AS 'Datamodel Update:' FROM dual; 
     936 
     937    ALTER TABLE `person_attribute_type` ADD COLUMN `retired` tinyint(1) NOT NULL default 0; 
     938    ALTER TABLE `person_attribute_type` ADD COLUMN `retired_by` int(11) default NULL; 
     939    ALTER TABLE `person_attribute_type` ADD COLUMN `date_retired` datetime default NULL; 
     940    ALTER TABLE `person_attribute_type` ADD COLUMN `retire_reason` varchar(255) default NULL; 
     941    ALTER TABLE `person_attribute_type` ADD KEY `user_who_retired_person_attribute_type` (`retired_by`); 
     942    ALTER TABLE `person_attribute_type` ADD CONSTRAINT `user_who_retired_person_attribute_type` FOREIGN KEY (`retired_by`) REFERENCES `users` (`user_id`); 
     943        ALTER TABLE `person_attribute_type` ADD INDEX `person_attribute_type_retired_status` (`retired`); 
     944 
     945    UPDATE `global_property` SET property_value=new_db_version WHERE property = 'database_version'; 
     946     
     947    END IF; 
     948 END; 
     949// 
     950 
     951delimiter ; 
     952call diff_procedure('1.3.0.10'); 
     953 
     954#---------------------------------------- 
     955# OpenMRS Datamodel version 1.3.0.11 
     956# Ben Wolfe               May 27, 2008 
     957# Modifying concept_name table for hibernate insert quirk 
     958#---------------------------------------- 
     959 
     960DROP PROCEDURE IF EXISTS diff_procedure; 
     961 
     962delimiter // 
     963 
     964CREATE PROCEDURE diff_procedure (IN new_db_version VARCHAR(10)) 
     965 BEGIN 
     966    IF (SELECT REPLACE(property_value, '.', '0') < REPLACE(new_db_version, '.', '0') FROM global_property WHERE property = 'database_version') THEN 
     967    SELECT CONCAT('Updating to ', new_db_version) AS 'Datamodel Update:' FROM dual; 
     968 
     969    ALTER TABLE `concept_name` MODIFY COLUMN `concept_id` int(11) default NULL; 
     970 
     971    UPDATE `global_property` SET property_value=new_db_version WHERE property = 'database_version'; 
     972     
     973    END IF; 
     974 END; 
     975// 
     976 
     977delimiter ; 
     978call diff_procedure('1.3.0.11'); 
     979 
     980#---------------------------------------- 
     981# OpenMRS Datamodel version 1.3.0.12 
     982# Ben Wolfe               June 25, 2008 
     983# Giving 1.3 modified privileges to roles 
     984#---------------------------------------- 
     985 
     986DROP PROCEDURE IF EXISTS diff_procedure; 
     987 
     988delimiter // 
     989 
     990CREATE PROCEDURE diff_procedure (IN new_db_version VARCHAR(10)) 
     991 BEGIN 
     992    IF (SELECT REPLACE(property_value, '.', '0') < REPLACE(new_db_version, '.', '0') FROM global_property WHERE property = 'database_version') THEN 
     993    SELECT CONCAT('Updating to ', new_db_version) AS 'Datamodel Update:' FROM dual; 
     994         
     995        set FOREIGN_KEY_CHECKS = 0; 
     996    insert into role_privilege (role, privilege) select distinct role, 'View Patient Programs' from role_privilege where privilege = 'Manage Patient Programs'; 
     997        insert into role_privilege (role, privilege) select distinct role, 'Edit Patient Programs' from role_privilege where privilege = 'Manage Patient Programs'; 
     998        update role_privilege set privilege = 'Delete Patient Programs' where privilege = 'Manage Patient Programs'; 
     999         
     1000        update role_privilege set privilege = 'Edit Concepts' where privilege = 'Manage Concepts'; 
     1001        delete from role_privilege where privilege = 'Add Concepts'; 
     1002 
     1003        update role_privilege set privilege = 'Edit Forms' where privilege = 'Manage Forms'; 
     1004        delete from role_privilege where privilege = 'Add Forms'; 
     1005 
     1006        set FOREIGN_KEY_CHECKS = 1; 
     1007 
     1008    UPDATE `global_property` SET property_value=new_db_version WHERE property = 'database_version'; 
     1009     
     1010    END IF; 
     1011 END; 
     1012// 
     1013 
     1014delimiter ; 
     1015call diff_procedure('1.3.0.12'); 
     1016 
    6161017 
    6171018#-----------------------------------