|
1
|
|
|
<?php |
|
2
|
|
|
|
|
3
|
|
|
namespace Surfnet\StepupMiddleware\Migrations; |
|
4
|
|
|
|
|
5
|
|
|
use Doctrine\DBAL\Migrations\AbstractMigration; |
|
6
|
|
|
use Doctrine\DBAL\Schema\Schema; |
|
7
|
|
|
|
|
8
|
|
|
/** |
|
9
|
|
|
* Auto-generated Migration: Please modify to your needs! |
|
10
|
|
|
*/ |
|
11
|
|
View Code Duplication |
class Version20150305134846 extends AbstractMigration |
|
|
|
|
|
|
12
|
|
|
{ |
|
13
|
|
|
public function up(Schema $schema) |
|
14
|
|
|
{ |
|
15
|
|
|
// this up() migration is auto-generated, please modify it to your needs |
|
16
|
|
|
$this->abortIf($this->connection->getDatabasePlatform()->getName() != 'mysql', 'Migration can only be executed safely on \'mysql\'.'); |
|
17
|
|
|
|
|
18
|
|
|
$this->addSql('ALTER TABLE ra_second_factor ADD status_int INT NOT NULL'); |
|
19
|
|
|
$this->addSql('UPDATE ra_second_factor SET status_int=0 WHERE `status`="unverified"'); |
|
20
|
|
|
$this->addSql('UPDATE ra_second_factor SET status_int=10 WHERE `status`="verified"'); |
|
21
|
|
|
$this->addSql('UPDATE ra_second_factor SET status_int=20 WHERE `status`="vetted"'); |
|
22
|
|
|
$this->addSql('UPDATE ra_second_factor SET status_int=30 WHERE `status`="revoked"'); |
|
23
|
|
|
$this->addSql('ALTER TABLE ra_second_factor DROP `status`'); |
|
24
|
|
|
$this->addSql('ALTER TABLE ra_second_factor CHANGE status_int `status` INT NOT NULL'); |
|
25
|
|
|
} |
|
26
|
|
|
|
|
27
|
|
|
public function down(Schema $schema) |
|
28
|
|
|
{ |
|
29
|
|
|
// this down() migration is auto-generated, please modify it to your needs |
|
30
|
|
|
$this->abortIf($this->connection->getDatabasePlatform()->getName() != 'mysql', 'Migration can only be executed safely on \'mysql\'.'); |
|
31
|
|
|
|
|
32
|
|
|
$this->addSql('ALTER TABLE ra_second_factor CHANGE `status` `status` VARCHAR(10) NOT NULL COLLATE utf8_unicode_ci'); |
|
33
|
|
|
|
|
34
|
|
|
$this->addSql('ALTER TABLE ra_second_factor ADD status_string VARCHAR(10) NOT NULL COLLATE utf8_unicode_ci'); |
|
35
|
|
|
$this->addSql('UPDATE ra_second_factor SET status_string="unverified" WHERE `status`=0'); |
|
36
|
|
|
$this->addSql('UPDATE ra_second_factor SET status_string="verified" WHERE `status`=10'); |
|
37
|
|
|
$this->addSql('UPDATE ra_second_factor SET status_string="vetted" WHERE `status`=20'); |
|
38
|
|
|
$this->addSql('UPDATE ra_second_factor SET status_string="revoked" WHERE `status`=30'); |
|
39
|
|
|
$this->addSql('ALTER TABLE ra_second_factor DROP `status`'); |
|
40
|
|
|
$this->addSql('ALTER TABLE ra_second_factor CHANGE status_string `status` VARCHAR(10) NOT NULL COLLATE utf8_unicode_ci'); |
|
41
|
|
|
} |
|
42
|
|
|
} |
|
43
|
|
|
|
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.
You can also find more detailed suggestions in the “Code” section of your repository.