2016-11-22 19:54:00 +00:00
< ? php
namespace Application\Migrations ;
use Doctrine\DBAL\Migrations\AbstractMigration ;
use Doctrine\DBAL\Schema\Schema ;
use Symfony\Component\DependencyInjection\ContainerAwareInterface ;
use Symfony\Component\DependencyInjection\ContainerInterface ;
/**
2016-11-25 16:43:28 +00:00
* Methods and properties removed from `FOS\UserBundle\Model\User` .
2016-11-22 19:54:00 +00:00
*
* - `$expired`
* - `$credentialsExpired`
* - `setExpired()` ( use `setExpiresAt(\DateTime::now()` instead )
* - `setCredentialsExpired()` ( use `setCredentialsExpireAt(\DateTime::now()` instead )
*
* You need to drop the fields `expired` and `credentials_expired` from your database
* schema , because they aren ' t mapped anymore .
*/
class Version20161122203647 extends AbstractMigration implements ContainerAwareInterface
{
/**
* @ var ContainerInterface
*/
private $container ;
public function setContainer ( ContainerInterface $container = null )
{
$this -> container = $container ;
}
/**
* @ param Schema $schema
*/
public function up ( Schema $schema )
{
2016-11-26 14:40:42 +00:00
$userTable = $schema -> getTable ( $this -> getTable ( 'user' ));
2016-11-22 19:54:00 +00:00
2016-11-30 10:27:07 +00:00
$this -> skipIf ( false === $userTable -> hasColumn ( 'expired' ) || false === $userTable -> hasColumn ( 'credentials_expired' ), 'It seems that you already played this migration.' );
2016-11-25 16:43:28 +00:00
2016-11-26 14:40:42 +00:00
$userTable -> dropColumn ( 'expired' );
$userTable -> dropColumn ( 'credentials_expired' );
2016-11-22 19:54:00 +00:00
}
/**
* @ param Schema $schema
*/
public function down ( Schema $schema )
{
2016-11-26 14:40:42 +00:00
$userTable = $schema -> getTable ( $this -> getTable ( 'user' ));
2017-01-23 13:16:00 +00:00
$this -> skipIf ( true === $userTable -> hasColumn ( 'expired' ) || true === $userTable -> hasColumn ( 'credentials_expired' ), 'It seems that you already played this migration.' );
$userTable -> addColumn ( 'expired' , 'smallint' , [ 'notnull' => false ]);
$userTable -> addColumn ( 'credentials_expired' , 'smallint' , [ 'notnull' => false ]);
2016-11-22 19:54:00 +00:00
}
2017-07-01 07:52:38 +00:00
private function getTable ( $tableName )
{
return $this -> container -> getParameter ( 'database_table_prefix' ) . $tableName ;
}
2016-11-22 19:54:00 +00:00
}