1
|
|
|
<?php declare(strict_types = 1); |
2
|
|
|
|
3
|
|
|
namespace DoctrineMigrations; |
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
|
|
|
class Version20180131204440 extends AbstractMigration |
12
|
|
|
{ |
13
|
|
View Code Duplication |
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('CREATE TABLE characters (id INT AUTO_INCREMENT NOT NULL, code VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL, side INT NOT NULL, image VARCHAR(255) NOT NULL, description VARCHAR(255) NOT NULL, tags LONGTEXT NOT NULL COMMENT \'(DC2Type:json_array)\', PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB'); |
19
|
|
|
$this->addSql('CREATE TABLE setting (id INT AUTO_INCREMENT NOT NULL, title VARCHAR(255) NOT NULL, code VARCHAR(255) NOT NULL, api VARCHAR(255) NOT NULL, user_suffix VARCHAR(255) NOT NULL, guild_suffix VARCHAR(255) NOT NULL, unit_suffix VARCHAR(255) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB'); |
20
|
|
|
$this->addSql('CREATE TABLE user (id INT AUTO_INCREMENT NOT NULL, guild_id INT DEFAULT NULL, uuid VARCHAR(255) NOT NULL, title VARCHAR(255) NOT NULL, INDEX IDX_8D93D6495F2131EF (guild_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB'); |
21
|
|
|
$this->addSql('CREATE TABLE guild (id INT AUTO_INCREMENT NOT NULL, uuid VARCHAR(255) NOT NULL, code VARCHAR(255) NOT NULL, title VARCHAR(255) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB'); |
22
|
|
|
$this->addSql('ALTER TABLE user ADD CONSTRAINT FK_8D93D6495F2131EF FOREIGN KEY (guild_id) REFERENCES guild (id)'); |
23
|
|
|
} |
24
|
|
|
|
25
|
|
View Code Duplication |
public function down(Schema $schema) |
|
|
|
|
26
|
|
|
{ |
27
|
|
|
// this down() migration is auto-generated, please modify it to your needs |
28
|
|
|
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.'); |
29
|
|
|
|
30
|
|
|
$this->addSql('ALTER TABLE user DROP FOREIGN KEY FK_8D93D6495F2131EF'); |
31
|
|
|
$this->addSql('DROP TABLE characters'); |
32
|
|
|
$this->addSql('DROP TABLE setting'); |
33
|
|
|
$this->addSql('DROP TABLE user'); |
34
|
|
|
$this->addSql('DROP TABLE guild'); |
35
|
|
|
} |
36
|
|
|
} |
37
|
|
|
|
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.