diff options
author | Jeremy Benoist <j0k3r@users.noreply.github.com> | 2016-11-30 14:17:40 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-30 14:17:40 +0100 |
commit | 9abac9651fd0af4586245364657dc9455ba5c73c (patch) | |
tree | fb8f3e1c5ac43d1f08d4197af7026eb1cd27eb00 /app/DoctrineMigrations/Version20160812120952.php | |
parent | ad51d77146494f04466c288b05b57b0d96113fd5 (diff) | |
parent | 067ae472cc50a6047d6197f1a042ce239153407d (diff) | |
download | wallabag-9abac9651fd0af4586245364657dc9455ba5c73c.tar.gz wallabag-9abac9651fd0af4586245364657dc9455ba5c73c.tar.zst wallabag-9abac9651fd0af4586245364657dc9455ba5c73c.zip |
Merge pull request #2650 from wallabag/add-hascolumn
Added hasColumn() in migration to check column existence
Diffstat (limited to 'app/DoctrineMigrations/Version20160812120952.php')
-rw-r--r-- | app/DoctrineMigrations/Version20160812120952.php | 23 |
1 files changed, 7 insertions, 16 deletions
diff --git a/app/DoctrineMigrations/Version20160812120952.php b/app/DoctrineMigrations/Version20160812120952.php index 39423e2f..053b8d88 100644 --- a/app/DoctrineMigrations/Version20160812120952.php +++ b/app/DoctrineMigrations/Version20160812120952.php | |||
@@ -21,7 +21,7 @@ class Version20160812120952 extends AbstractMigration implements ContainerAwareI | |||
21 | 21 | ||
22 | private function getTable($tableName) | 22 | private function getTable($tableName) |
23 | { | 23 | { |
24 | return $this->container->getParameter('database_table_prefix') . $tableName; | 24 | return $this->container->getParameter('database_table_prefix').$tableName; |
25 | } | 25 | } |
26 | 26 | ||
27 | /** | 27 | /** |
@@ -29,18 +29,10 @@ class Version20160812120952 extends AbstractMigration implements ContainerAwareI | |||
29 | */ | 29 | */ |
30 | public function up(Schema $schema) | 30 | public function up(Schema $schema) |
31 | { | 31 | { |
32 | switch ($this->connection->getDatabasePlatform()->getName()) { | 32 | $clientsTable = $schema->getTable($this->getTable('oauth2_clients')); |
33 | case 'sqlite': | 33 | $this->skipIf($clientsTable->hasColumn('name'), 'It seems that you already played this migration.'); |
34 | $this->addSql('ALTER TABLE '.$this->getTable('oauth2_clients').' ADD name longtext DEFAULT NULL'); | 34 | |
35 | break; | 35 | $clientsTable->addColumn('name', 'blob'); |
36 | |||
37 | case 'mysql': | ||
38 | $this->addSql('ALTER TABLE '.$this->getTable('oauth2_clients').' ADD name longtext COLLATE \'utf8_unicode_ci\' DEFAULT NULL'); | ||
39 | break; | ||
40 | |||
41 | case 'postgresql': | ||
42 | $this->addSql('ALTER TABLE '.$this->getTable('oauth2_clients').' ADD name text DEFAULT NULL'); | ||
43 | } | ||
44 | } | 36 | } |
45 | 37 | ||
46 | /** | 38 | /** |
@@ -48,8 +40,7 @@ class Version20160812120952 extends AbstractMigration implements ContainerAwareI | |||
48 | */ | 40 | */ |
49 | public function down(Schema $schema) | 41 | public function down(Schema $schema) |
50 | { | 42 | { |
51 | $this->abortIf($this->connection->getDatabasePlatform()->getName() == 'sqlite', 'Migration can only be executed safely on \'mysql\' or \'postgresql\'.'); | 43 | $clientsTable = $schema->getTable($this->getTable('oauth2_clients')); |
52 | 44 | $clientsTable->dropColumn('name'); | |
53 | $this->addSql('ALTER TABLE '.$this->getTable('oauth2_clients').' DROP COLUMN name'); | ||
54 | } | 45 | } |
55 | } | 46 | } |