3 namespace Application\Migrations
;
5 use Doctrine\DBAL\Migrations\AbstractMigration
;
6 use Doctrine\DBAL\Schema\Schema
;
7 use Symfony\Component\DependencyInjection\ContainerAwareInterface
;
8 use Symfony\Component\DependencyInjection\ContainerInterface
;
11 * Methods and properties removed from `FOS\UserBundle\Model\User`.
14 * - `$credentialsExpired`
15 * - `setExpired()` (use `setExpiresAt(\DateTime::now()` instead)
16 * - `setCredentialsExpired()` (use `setCredentialsExpireAt(\DateTime::now()` instead)
18 * You need to drop the fields `expired` and `credentials_expired` from your database
19 * schema, because they aren't mapped anymore.
21 class Version20161122203647
extends AbstractMigration
implements ContainerAwareInterface
24 * @var ContainerInterface
28 public function setContainer(ContainerInterface
$container = null)
30 $this->container
= $container;
33 private function getTable($tableName)
35 return $this->container
->getParameter('database_table_prefix').$tableName;
39 * @param Schema $schema
41 public function up(Schema
$schema)
43 $userTable = $schema->getTable($this->getTable('user'));
45 $this->skipIf(false === $userTable->hasColumn('expired') || false === $userTable->hasColumn('credentials_expired'), 'It seems that you already played this migration.');
47 $userTable->dropColumn('expired');
48 $userTable->dropColumn('credentials_expired');
52 * @param Schema $schema
54 public function down(Schema
$schema)
56 $userTable = $schema->getTable($this->getTable('user'));
58 $this->skipIf(true === $userTable->hasColumn('expired') || true === $userTable->hasColumn('credentials_expired'), 'It seems that you already played this migration.');
60 $userTable->addColumn('expired', 'smallint', ['notnull' => false]);
61 $userTable->addColumn('credentials_expired', 'smallint', ['notnull' => false]);