1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-14 10:52:41 +01:00
phorge-phorge/resources/sql/autopatches/20150102.policyname.php

39 lines
846 B
PHP
Raw Normal View History

<?php
$policies = array(
'Administrators',
'LegalpadSignature',
'LunarPhase',
'Projects',
'Users',
);
$map = array();
foreach ($policies as $policy) {
$old_name = "PhabricatorPolicyRule{$policy}";
$new_name = "Phabricator{$policy}PolicyRule";
$map[$old_name] = $new_name;
}
echo pht('Migrating policies...')."\n";
$table = new PhabricatorPolicy();
$conn_w = $table->establishConnection('w');
foreach (new LiskMigrationIterator($table) as $policy) {
$old_rules = $policy->getRules();
$new_rules = array();
foreach ($old_rules as $rule) {
$existing_rule = $rule['rule'];
$rule['rule'] = idx($map, $existing_rule, $existing_rule);
$new_rules[] = $rule;
}
queryfx(
$conn_w,
'UPDATE %T SET rules = %s WHERE id = %d',
$table->getTableName(),
json_encode($new_rules),
$policy->getID());
}