Downloads Documentation Community Contribute Demo






Show Sidebar
Login | Register

Ticket #1124: addguidsconceptname.patch

File addguidsconceptname.patch, 4.0 kB (added by catullus, 1 year ago)
  • metadata/model/update-to-latest-db.mysqldiff.sql

    old new  
    15281528delimiter ; 
    15291529call diff_procedure('1.4.0.08'); 
    15301530 
     1531 
     1532#----------------------------------------------------------- 
     1533# OpenMRS Datamodel version 1.4.0.08.1 
     1534# Chase Yarbrough   Nov 16th, 2008 
     1535# 
     1536# Fix for ticket #1124 
     1537# 
     1538# Duplicate of above procedure, except correctly adds GUIDs 
     1539#----------------------------------------------------------- 
     1540DROP PROCEDURE IF EXISTS diff_procedure; 
     1541delimiter // 
     1542CREATE PROCEDURE diff_procedure (IN new_db_version VARCHAR(10)) 
     1543BEGIN 
     1544        IF (SELECT REPLACE(property_value, '.', '0') < REPLACE(new_db_version, '.', '0') FROM global_property WHERE property = 'database_version') THEN 
     1545 
     1546                select 'Migrate concept_name.short_names.' AS '*** Step: ***', new_db_version from dual; 
     1547         
     1548                SET @NAME_TAG_ID = (SELECT `concept_name_tag_id` FROM `concept_name_tag` where tag='short'); 
     1549                # make new concept_names for the short_names. 
     1550                select 'create concept_names' AS '*** sub-step 1' from dual; 
     1551                INSERT INTO `concept_name` (short_name, description, concept_id, name, locale, creator, date_created, guid) 
     1552                        SELECT 'MVP-SHORT', 'deprecated', concept_id, short_name, locale, creator, date_created, UUID() 
     1553                        FROM `concept_name`  
     1554                        LEFT JOIN `concept_name_tag_map` cntm ON cntm.concept_name_id=concept_name.concept_name_id 
     1555                        WHERE short_name<>'' AND cntm.concept_name_tag_id<>@NAME_TAG_ID; 
     1556                # tag the newly created short_name entries 
     1557                select 'tagging new concept_names' AS 'sub-step 2' from dual; 
     1558                INSERT INTO `concept_name_tag_map` (`concept_name_id`, `concept_name_tag_id`) 
     1559                        SELECT `concept_name_id`, @NAME_TAG_ID FROM `concept_name` WHERE `short_name`='MVP-SHORT'; 
     1560 
     1561                select '***' AS '...done' from dual; 
     1562         
     1563                UPDATE `global_property` SET property_value=new_db_version WHERE property = 'database_version'; 
     1564 
     1565        END IF; 
     1566END; 
     1567// 
     1568delimiter ; 
     1569call diff_procedure('1.4.0.08.1'); 
     1570 
     1571 
    15311572#----------------------------------------------------------- 
    15321573# OpenMRS Datamodel version 1.4.0.09 
    15331574# Andreas Kollegger   Sep 26th, 2008 
     
    15711612delimiter ; 
    15721613call diff_procedure('1.4.0.09'); 
    15731614 
     1615#----------------------------------------------------------- 
     1616# OpenMRS Datamodel version 1.4.0.09.1 
     1617# Chase Yarbrough   Nov 16th, 2008 
     1618# 
     1619# Fix for ticket #1124 
     1620# 
     1621# Duplicate of above procedure, except correctly adds GUIDs 
     1622#----------------------------------------------------------- 
     1623DROP PROCEDURE IF EXISTS diff_procedure; 
     1624delimiter // 
     1625CREATE PROCEDURE diff_procedure (IN new_db_version VARCHAR(10)) 
     1626BEGIN 
     1627        IF (SELECT REPLACE(property_value, '.', '0') < REPLACE(new_db_version, '.', '0') FROM global_property WHERE property = 'database_version') THEN 
     1628 
     1629                select 'Migrate synonyms.' AS '*** Step: ***', new_db_version from dual; 
     1630                # make new concept_names for the synonym 
     1631                INSERT INTO `concept_name` (short_name, description, concept_id, name, locale, creator, date_created, guid) 
     1632            SELECT 'MVP-SYNONYM', 'deprecated', cs.concept_id, cs.synonym, cs.locale, 
     1633                cs.creator, cs.date_created, UUID() 
     1634                FROM `concept_synonym` cs 
     1635                INNER JOIN `concept` c on c.concept_id=cs.concept_id  
     1636                WHERE cs.synonym<>''; 
     1637 
     1638                # tag the newly created synonym entries 
     1639                SET @NAME_TAG_ID = (SELECT `concept_name_tag_id` FROM `concept_name_tag` where tag='synonym'); 
     1640                INSERT INTO `concept_name_tag_map` (`concept_name_id`, `concept_name_tag_id`) 
     1641                        SELECT `concept_name_id`, @NAME_TAG_ID FROM `concept_name` WHERE `short_name`='MVP-SYNONYM'; 
     1642         
     1643                DROP table concept_synonym; 
     1644                select '***' AS '...done' from dual; 
     1645                 
     1646                UPDATE `global_property` SET property_value=new_db_version WHERE property = 'database_version'; 
     1647 
     1648        END IF; 
     1649END; 
     1650// 
     1651delimiter ; 
     1652call diff_procedure('1.4.0.09.1'); 
     1653 
    15741654 
    15751655#----------------------------------------------------------- 
    15761656# OpenMRS Datamodel version 1.4.0.10