The "immutable" nature of Policies and Vocabularies tends to clash with the development cycle of design-develop-test-debug. First, from a webcast from Microsoft plus some of my own tweaking, here’s the SQL to toggle the Published status of a Policy UPDATE re_ruleset
SET nStatus = nStatus ^ 1
WHERE strName = ‘
AND nMajor = majorVersionNumber
AND nMinor = minorVersionNumber
The same for toggling a Vocabulary:
UPDATE re_vocabulary
SET nStatus = nStatus ^ 1
WHERE strName = ‘
‘
AND nMajor = majorVersionNumber
AND nMinor = minorVersionNumber
The last trick is to note how Import and Export work. You can Export a Policy (or Vocabulary), but if you try to Import it again on the same machine, you will get an error. If you delete the Policy, you can now Import it. (As noted on the Wizard, policies and vocabularies are always imported in a Published state.)
I’ve published and deployed a policy, built an orchestration that calls that policy (using the rules shape), exported the policy to a file, imported it on another system, made changes, and reversed the process (export, import, deploy). The orchestration called the new rules just fine.
I wouldn’t recommend it on a production system, of course.