2016-11-06 11:02:39 +00:00
< ? php
namespace Application\Migrations ;
use Doctrine\DBAL\Migrations\AbstractMigration ;
use Doctrine\DBAL\Schema\Schema ;
2016-11-17 07:05:15 +00:00
use Symfony\Component\DependencyInjection\ContainerAwareInterface ;
use Symfony\Component\DependencyInjection\ContainerInterface ;
2016-11-06 11:02:39 +00:00
2016-11-17 07:05:15 +00:00
class Version20161106113822 extends AbstractMigration implements ContainerAwareInterface
2016-11-06 11:02:39 +00:00
{
/**
* @ var ContainerInterface
*/
private $container ;
public function setContainer ( ContainerInterface $container = null )
{
$this -> container = $container ;
}
private function getTable ( $tableName )
{
2016-11-25 16:43:28 +00:00
return $this -> container -> getParameter ( 'database_table_prefix' ) . $tableName ;
2016-11-06 11:02:39 +00:00
}
/**
* @ param Schema $schema
*/
public function up ( Schema $schema )
{
2016-11-25 16:43:28 +00:00
$this -> skipIf ( $schema -> getTable ( $this -> getTable ( 'config' )) -> hasColumn ( 'action_mark_as_read' ), 'It seems that you already played this migration.' );
2016-11-17 07:05:15 +00:00
$this -> addSql ( 'ALTER TABLE ' . $this -> getTable ( 'config' ) . ' ADD action_mark_as_read INT DEFAULT 0' );
2016-11-06 11:02:39 +00:00
}
/**
* @ param Schema $schema
*/
public function down ( Schema $schema )
{
2016-11-26 12:34:36 +00:00
$this -> skipIf ( $this -> connection -> getDatabasePlatform () -> getName () != 'sqlite' , 'This down migration can\'t be executed on SQLite databases, because SQLite don\'t support DROP COLUMN.' );
2016-11-06 11:02:39 +00:00
2016-11-17 07:05:15 +00:00
$this -> addSql ( 'ALTER TABLE ' . $this -> getTable ( 'config' ) . ' DROP action_mark_as_read' );
2016-11-06 11:02:39 +00:00
}
}