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/Version20160916201049.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/Version20160916201049.php')
-rw-r--r-- | app/DoctrineMigrations/Version20160916201049.php | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/app/DoctrineMigrations/Version20160916201049.php b/app/DoctrineMigrations/Version20160916201049.php index 0d2edf9e..9390755e 100644 --- a/app/DoctrineMigrations/Version20160916201049.php +++ b/app/DoctrineMigrations/Version20160916201049.php | |||
@@ -21,7 +21,7 @@ class Version20160916201049 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,8 +29,12 @@ class Version20160916201049 extends AbstractMigration implements ContainerAwareI | |||
29 | */ | 29 | */ |
30 | public function up(Schema $schema) | 30 | public function up(Schema $schema) |
31 | { | 31 | { |
32 | $this->addSql('ALTER TABLE "'.$this->getTable('config').'" ADD pocket_consumer_key VARCHAR(255) DEFAULT NULL'); | 32 | $configTable = $schema->getTable($this->getTable('config')); |
33 | $this->addSql("DELETE FROM \"".$this->getTable('craue_config_setting')."\" WHERE name = 'pocket_consumer_key';"); | 33 | |
34 | $this->skipIf($configTable->hasColumn('pocket_consumer_key'), 'It seems that you already played this migration.'); | ||
35 | |||
36 | $configTable->addColumn('pocket_consumer_key', 'string'); | ||
37 | $this->addSql('DELETE FROM '.$this->getTable('craue_config_setting')." WHERE name = 'pocket_consumer_key';"); | ||
34 | } | 38 | } |
35 | 39 | ||
36 | /** | 40 | /** |
@@ -38,9 +42,8 @@ class Version20160916201049 extends AbstractMigration implements ContainerAwareI | |||
38 | */ | 42 | */ |
39 | public function down(Schema $schema) | 43 | public function down(Schema $schema) |
40 | { | 44 | { |
41 | $this->abortIf($this->connection->getDatabasePlatform()->getName() == 'sqlite', 'Migration can only be executed safely on \'mysql\' or \'postgresql\'.'); | 45 | $configTable = $schema->getTable($this->getTable('config')); |
42 | 46 | $configTable->dropColumn('pocket_consumer_key'); | |
43 | $this->addSql('ALTER TABLE "'.$this->getTable('config').'" DROP pocket_consumer_key'); | 47 | $this->addSql('INSERT INTO '.$this->getTable('craue_config_setting')." (name, value, section) VALUES ('pocket_consumer_key', NULL, 'import')"); |
44 | $this->addSql("INSERT INTO \"".$this->getTable('craue_config_setting')."\" (name, value, section) VALUES ('pocket_consumer_key', NULL, 'import')"); | ||
45 | } | 48 | } |
46 | } | 49 | } |