/usr/share/php/data/Horde_Dav/migration/2_horde_dav_remove_unique_index.php is in php-horde-dav 1.1.4-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | <?php
/**
* Copyright 2013-2015 Horde LLC (http://www.horde.org/)
*
* See the enclosed file LICENSE for license information (BSD). If you
* did not receive this file, see http://www.horde.org/licenses/bsd.
*
* @author Jan Schneider <jan@horde.org>
* @category Horde
* @license http://www.horde.org/licenses/bsd BSD
* @package Dav
*/
/**
* Replaces the unique index for external object IDs with a regular index.
*
* @author Jan Schneider <jan@horde.org>
* @category Horde
* @license http://www.horde.org/licenses/bsd BSD
* @package Dav
*/
class HordeDavRemoveUniqueIndex extends Horde_Db_Migration_Base
{
/**
* Upgrade
*/
public function up()
{
$this->removeIndex('horde_dav_objects', 'id_external');
$this->addIndex('horde_dav_objects', 'id_external');
$this->addIndex('horde_dav_objects', array('id_external', 'id_collection'), array('unique' => true));
}
/**
* Downgrade
*/
public function down()
{
$indexes = $this->indexes('horde_dav_objects');
$idx_names = array(
$this->indexName(
'horde_dav_objects',
array('column' => array('id_external', 'id_collection'))
),
$this->indexName('horde_dav_objects', 'id_external')
);
foreach ($indexes as $idx) {
if (in_array($idx->name, $idx_names)) {
$this->removeIndex('horde_dav_objects', array('name' => $idx->name));
}
}
$this->addIndex('horde_dav_objects', 'id_external', array('unique' => true));
}
}
|