Revision 5d5f629d
Added by Andreas Müller 8 months ago
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/update/v529_532/SchemaUpdater_5290_5320.java | ||
---|---|---|
124 | 124 |
|
125 | 125 |
//#9785 Add missing unit_ids |
126 | 126 |
stepName = "Add missing unit_ids"; |
127 |
String query = "UPDATE DescriptionElementBase deb LEFT OUTER JOIN DefinedTermBase fe ON fe.id = deb.feature_id" |
|
128 |
+ "SET deb.unit_id = (" |
|
127 |
String query = "UPDATE DescriptionElementBase deb LEFT OUTER JOIN DefinedTermBase fe ON fe.id = deb.feature_id "
|
|
128 |
+ " SET deb.unit_id = ("
|
|
129 | 129 |
+ " SELECT MN2.recommendedMeasurementUnits_id" |
130 | 130 |
+ " FROM DefinedTermBase fe2 INNER JOIN DefinedTermBase_MeasurementUnit MN2 ON MN2.Feature_id = fe2.id" |
131 | 131 |
+ " WHERE fe.id = fe2.id AND (fe2.DTYPE = 'Feature' OR fe2.DTYPE = 'Character')" |
132 | 132 |
+ " GROUP BY fe2.id" |
133 | 133 |
+ " HAVING COUNT(*) = 1" |
134 |
+ ")" |
|
135 |
+ "WHERE deb.DTYPE = 'QuantitativeData' AND deb.unit_id IS NULL"
|
|
136 |
+ "AND fe.id IN (" |
|
134 |
+ ") "
|
|
135 |
+ " WHERE deb.DTYPE = 'QuantitativeData' AND deb.unit_id IS NULL "
|
|
136 |
+ " AND fe.id IN ("
|
|
137 | 137 |
+ " SELECT fe.id " |
138 | 138 |
+ " FROM DefinedTermBase fe INNER JOIN DefinedTermBase_MeasurementUnit MN ON MN.Feature_id = fe.id INNER JOIN DefinedTermBase mu ON MN.recommendedMeasurementUnits_id = mu.id" |
139 | 139 |
+ " WHERE fe.DTYPE = 'Feature' OR fe.DTYPE = 'Character'" |
Also available in: Unified diff
ref #9785 fix update script for measurement unit_ids