Added migration to remove useless fields

This commit is contained in:
Nicolas Lœuillet 2016-11-28 13:25:18 +01:00
parent cda0662311
commit 07326af5e2
No known key found for this signature in database
GPG Key ID: BDC1EFB5CA0145F2
1 changed files with 61 additions and 0 deletions

View File

@ -0,0 +1,61 @@
<?php
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Removed locked, credentials_expire_at and expires_at.
*/
class Version20161128131503 extends AbstractMigration implements ContainerAwareInterface
{
private $fields = [
'locked' => 'smallint',
'credentials_expire_at' => 'datetime',
'expires_at' => 'datetime',
];
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix').$tableName;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$userTable = $schema->getTable($this->getTable('user'));
foreach ($this->fields as $field => $type) {
$this->skipIf(!$userTable->hasColumn($field), 'It seems that you already played this migration.');
$userTable->dropColumn($field);
}
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$userTable = $schema->getTable($this->getTable('user'));
foreach ($this->fields as $field => $type) {
$this->skipIf($userTable->hasColumn($field), 'It seems that you already played this migration.');
$userTable->addColumn($field, $type);
}
}
}