]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - app/DoctrineMigrations/Version20160410190541.php
Removed is_public in Entry edit form
[github/wallabag/wallabag.git] / app / DoctrineMigrations / Version20160410190541.php
index 0cdec00852dd1a715a9898dd7e5c02d56f06b0d4..5e5cae35c3185f84d8bd470d11b7918bf7f3f2e7 100644 (file)
@@ -7,6 +7,9 @@ use Doctrine\DBAL\Schema\Schema;
 use Symfony\Component\DependencyInjection\ContainerAwareInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
+/**
+ * Added foreign keys for account resetting.
+ */
 class Version20160410190541 extends AbstractMigration implements ContainerAwareInterface
 {
     /**
@@ -31,12 +34,21 @@ class Version20160410190541 extends AbstractMigration implements ContainerAwareI
     {
         $entryTable = $schema->getTable($this->getTable('entry'));
 
-        $this->skipIf($entryTable->hasColumn('uuid'), 'It seems that you already played this migration.');
+        $this->skipIf($entryTable->hasColumn('uid') || $entryTable->hasColumn('uuid'), 'It seems that you already played this migration.');
 
-        $entryTable->addColumn('uuid', 'guid', [
+        $entryTable->addColumn('uid', 'string', [
             'notnull' => false,
+            'length' => 23,
         ]);
-        $this->addSql('INSERT INTO '.$this->getTable('craue_config_setting')." (name, value, section) VALUES ('share_public', '1', 'entry')");
+
+        $sharePublic = $this->container
+            ->get('doctrine.orm.default_entity_manager')
+            ->getConnection()
+            ->fetchArray('SELECT * FROM '.$this->getTable('craue_config_setting')." WHERE name = 'share_public'");
+
+        if (false === $sharePublic) {
+            $this->addSql('INSERT INTO '.$this->getTable('craue_config_setting')." (name, value, section) VALUES ('share_public', '1', 'entry')");
+        }
     }
 
     /**
@@ -45,7 +57,7 @@ class Version20160410190541 extends AbstractMigration implements ContainerAwareI
     public function down(Schema $schema)
     {
         $entryTable = $schema->getTable($this->getTable('entry'));
-        $entryTable->dropColumn('uuid');
+        $entryTable->dropColumn('uid');
 
         $this->addSql('DELETE FROM '.$this->getTable('craue_config_setting')." WHERE name = 'share_public'");
     }