misc/migration/3.14.0_Any.py
changeset 8027 9ac82788f67b
parent 7995 9a9f35ef418c
child 8079 0f1126b9038e
--- a/misc/migration/3.14.0_Any.py	Wed Oct 26 17:59:06 2011 +0200
+++ b/misc/migration/3.14.0_Any.py	Thu Oct 27 10:38:02 2011 +0200
@@ -1,3 +1,13 @@
 config['rql-cache-size'] = config['rql-cache-size'] * 10
 
 add_entity_type('CWDataImport')
+
+from cubicweb.schema import CONSTRAINTS, guess_rrqlexpr_mainvars
+for rqlcstr in rql('Any X,XT,XV WHERE X is CWConstraint, X cstrtype XT, X value XV,'
+                   'X cstrtype XT, XT name IN ("RQLUniqueConstraint","RQLConstraint","RQLVocabularyConstraint"),'
+                   'NOT X value ~= ";%"').entities():
+    expression = rqlcstr.value
+    mainvars = guess_rrqlexpr_mainvars(expression)
+    yamscstr = CONSTRAINTS[rqlcstr.type](expression, mainvars)
+    rqlcstr.set_attributes(value=yamscstr.serialize())
+    print 'updated', rqlcstr.type, rqlcstr.value