2017-01-27 11:44:04 +01:00
< ? php
namespace Application\Migrations ;
use Doctrine\DBAL\Schema\Schema ;
2018-06-14 13:43:09 +02:00
use Wallabag\CoreBundle\Doctrine\WallabagMigration ;
2017-01-27 11:44:04 +01:00
/**
2017-04-13 12:57:31 +02:00
* Added indexes on wallabag_entry . is_starred and wallabag_entry . is_archived .
2017-01-27 11:44:04 +01:00
*/
2018-06-14 13:43:09 +02:00
class Version20170127093841 extends WallabagMigration
2017-01-27 11:44:04 +01:00
{
private $indexStarredName = 'IDX_entry_starred' ;
private $indexArchivedName = 'IDX_entry_archived' ;
/**
* @ param Schema $schema
*/
public function up ( Schema $schema )
{
$entryTable = $schema -> getTable ( $this -> getTable ( 'entry' ));
2017-01-27 12:10:52 +01:00
$this -> skipIf ( $entryTable -> hasIndex ( $this -> indexStarredName ) && $entryTable -> hasIndex ( $this -> indexArchivedName ), 'It seems that you already played this migration.' );
2017-01-27 11:44:04 +01:00
$entryTable -> addIndex ([ 'is_starred' ], $this -> indexStarredName );
$entryTable -> addIndex ([ 'is_archived' ], $this -> indexArchivedName );
}
/**
* @ param Schema $schema
*/
public function down ( Schema $schema )
{
$entryTable = $schema -> getTable ( $this -> getTable ( 'entry' ));
2017-01-27 12:10:52 +01:00
$this -> skipIf ( false === $entryTable -> hasIndex ( $this -> indexStarredName ) && false === $entryTable -> hasIndex ( $this -> indexArchivedName ), 'It seems that you already played this migration.' );
2017-01-27 11:44:04 +01:00
$entryTable -> dropIndex ( $this -> indexStarredName );
$entryTable -> dropIndex ( $this -> indexArchivedName );
}
}