Page MenuHomec4science

20160503.repo.04.mirrormigrate.php
No OneTemporary

File Metadata

Created
Wed, Dec 4, 13:31

20160503.repo.04.mirrormigrate.php

<?php
$table = new PhabricatorRepository();
$conn_w = $table->establishConnection('w');
$mirrors = queryfx_all(
$conn_w,
'SELECT * FROM %T',
'repository_mirror');
foreach ($mirrors as $mirror) {
$repository_phid = $mirror['repositoryPHID'];
$uri = $mirror['remoteURI'];
$already_exists = id(new PhabricatorRepositoryURI())->loadOneWhere(
'repositoryPHID = %s AND uri = %s',
$repository_phid,
$uri);
if ($already_exists) {
// Decline to migrate stuff that looks like it was already migrated.
continue;
}
$new_uri = PhabricatorRepositoryURI::initializeNewURI()
->setIOType(PhabricatorRepositoryURI::IO_MIRROR)
->setRepositoryPHID($repository_phid)
->setURI($uri)
->setCredentialPHID($mirror['credentialPHID'])
->setDateCreated($mirror['dateCreated'])
->setDateModified($mirror['dateModified'])
->save();
echo tsprintf(
"%s\n",
pht(
'Migrated mirror "%s".',
$uri));
}

Event Timeline