aboutsummaryrefslogtreecommitdiffhomepage
path: root/app/DoctrineMigrations/Version20160410190541.php
diff options
context:
space:
mode:
authorJeremy Benoist <j0k3r@users.noreply.github.com>2016-11-30 14:17:40 +0100
committerGitHub <noreply@github.com>2016-11-30 14:17:40 +0100
commit9abac9651fd0af4586245364657dc9455ba5c73c (patch)
treefb8f3e1c5ac43d1f08d4197af7026eb1cd27eb00 /app/DoctrineMigrations/Version20160410190541.php
parentad51d77146494f04466c288b05b57b0d96113fd5 (diff)
parent067ae472cc50a6047d6197f1a042ce239153407d (diff)
downloadwallabag-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/Version20160410190541.php')
-rw-r--r--app/DoctrineMigrations/Version20160410190541.php21
1 files changed, 11 insertions, 10 deletions
diff --git a/app/DoctrineMigrations/Version20160410190541.php b/app/DoctrineMigrations/Version20160410190541.php
index f034b0e4..0cdec008 100644
--- a/app/DoctrineMigrations/Version20160410190541.php
+++ b/app/DoctrineMigrations/Version20160410190541.php
@@ -21,7 +21,7 @@ class Version20160410190541 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,13 +29,14 @@ class Version20160410190541 extends AbstractMigration implements ContainerAwareI
29 */ 29 */
30 public function up(Schema $schema) 30 public function up(Schema $schema)
31 { 31 {
32 if ($this->connection->getDatabasePlatform()->getName() == 'postgresql') { 32 $entryTable = $schema->getTable($this->getTable('entry'));
33 $this->addSql('ALTER TABLE "'.$this->getTable('entry').'" ADD uuid UUID DEFAULT NULL');
34 } else {
35 $this->addSql('ALTER TABLE "'.$this->getTable('entry').'" ADD uuid LONGTEXT DEFAULT NULL');
36 }
37 33
38 $this->addSql("INSERT INTO \"".$this->getTable('craue_config_setting')."\" (name, value, section) VALUES ('share_public', '1', 'entry')"); 34 $this->skipIf($entryTable->hasColumn('uuid'), 'It seems that you already played this migration.');
35
36 $entryTable->addColumn('uuid', 'guid', [
37 'notnull' => false,
38 ]);
39 $this->addSql('INSERT INTO '.$this->getTable('craue_config_setting')." (name, value, section) VALUES ('share_public', '1', 'entry')");
39 } 40 }
40 41
41 /** 42 /**
@@ -43,9 +44,9 @@ class Version20160410190541 extends AbstractMigration implements ContainerAwareI
43 */ 44 */
44 public function down(Schema $schema) 45 public function down(Schema $schema)
45 { 46 {
46 $this->abortIf($this->connection->getDatabasePlatform()->getName() != 'sqlite', 'This down migration can\'t be executed on SQLite databases, because SQLite don\'t support DROP COLUMN.'); 47 $entryTable = $schema->getTable($this->getTable('entry'));
48 $entryTable->dropColumn('uuid');
47 49
48 $this->addSql('ALTER TABLE "'.$this->getTable('entry').'" DROP uuid'); 50 $this->addSql('DELETE FROM '.$this->getTable('craue_config_setting')." WHERE name = 'share_public'");
49 $this->addSql("DELETE FROM \"".$this->getTable('craue_config_setting')."\" WHERE name = 'share_public'");
50 } 51 }
51} 52}