Old thread, but in case it is helpful, in 5.x you can also use the Node Browser at /alfresco to browse the same path and delete exactly the module you need to.
Primary Path: /{http://www.alfresco.org/model/system/1.0}system-registry/{http://www.alfresco.org/system/modules/1.0}modules
mysql> SELECT * FROM alf_qname WHERE alf_qname.id IN (34, 59, 62, 101, 102 ); +—–+———+——-+——————+ | id | version | ns_id | local_name | +—–+———+——-+——————+ | 34 | 1 | 3 | name | | 59 | 1 | 5 | container | | 62 | 1 | 5 | store_root | | 101 | 1 | 8 | currentVersion | | 102 | 1 | 8 | installedVersion | +—–+———+——-+——————+ 5 rows in set (0.00 sec)
mysql> SELECT node_id, qname_id, locale_id, string_value FROM alf_node_properties WHERE qname_id IN (101, 102) ORDER BY node_id; +———+———-+———–+————–+ | node_id | qname_id | locale_id | string_value | +———+———-+———–+————–+ | 2345995 | 101 | 1 | 2.1.13 | | 2345995 | 102 | 1 | 2.1.13 | | 3216313 | 101 | 1 | 2.4.0 | | 3216313 | 102 | 1 | 2.4.0 | | 3216314 | 101 | 1 | 2.4.0 | | 3216314 | 102 | 1 | 2.4.0 | | 3216315 | 101 | 1 | 2.4.0 | | 3216315 | 102 | 1 | 2.4.0 | +———+———-+———–+————–+ 8 rows in set (0.00 sec)
mysql> SELECT node_id, qname_id, locale_id, string_value FROM alf_node_properties WHERE node_id IN (3216313, 3216314, 3216315) ; +———+———-+———–+——————-+ | node_id | qname_id | locale_id | string_value | +———+———-+———–+——————-+ | 3216313 | 34 | 1 | content-********* | | 3216313 | 101 | 1 | 2.4.0 | | 3216313 | 102 | 1 | 2.4.0 | | 3216314 | 34 | 1 | ******-content | | 3216314 | 101 | 1 | 2.4.0 | | 3216314 | 102 | 1 | 2.4.0 | | 3216315 | 34 | 1 | ******-alfresco | | 3216315 | 101 | 1 | 2.4.0 | | 3216315 | 102 | 1 | 2.4.0 | +———+———-+———–+——————-+ 9 rows in set (0.00 sec)
mysql> UPDATE alf_node_properties SET string_value = '2.1.1' WHERE node_id = 3216315 AND qname_id IN (101, 102); Query OK, 2 rows affected (0.00 sec) Rows matched: 2 Changed: 2 Warnings: 0
mysql> SELECT node_id, qname_id, locale_id, string_value FROM alf_node_properties WHERE node_id = 3216315 ; +———+———-+———–+—————–+ | node_id | qname_id | locale_id | string_value | +———+———-+———–+—————–+ | 3216315 | 34 | 1 | ******-alfresco | | 3216315 | 101 | 1 | 2.1.1 | | 3216315 | 102 | 1 | 2.1.1 | +———+———-+———–+—————–+ 3 rows in set (0.00 sec)
select local_name, id from alf_qname where local_name in ('currentVersion', 'installedVersion')
var searchString = "/sys:system-registry/module:modules/*"; // XPath search string var store = "system://system"; var nodes = search.selectNodes(store, searchString); for each (var node in nodes) { logger.log("removing entry for module: " + node.name); node.addAspect("sys:temporary"); node.remove(); }
Since the issue ALF-21399 has been closed as "not a bug" I'd like to share that we worked around this long story by implementing a hardcore Alfresco extension which is able to migrate, up- and downgrade Alfresco Types. The implementation has a javascript binding to call a migration batch job for specific types and expects a function (getting the old property array as argument) which takes care how to save the old values in other properties, jdbc datasources ...
If anybody is interested, please send me a pm. We decided not to publish this extension (yet) since it will be very easy to loose data if you have bugs in the custom function. But as always: With great power comes great responsibility!
Hi Heiko i'm interested to try out the extension you talk it about, i can't send you a pm because i'm must be friend or follow by you for send the message.
Ty.
Greeting.