wallabag/app/DoctrineMigrations/Version20170606155640.php
Girish Ramakrishnan 131ef532c7 Skip migration if the table was already renamed
Doctrine 3.5 reruns skipped migrations when invoking doctrine:migrations:migrate.
This causes this migration to rerun and it errors since craue_config_setting table
gets renamed in Version20190808124957.php to internal_setting table.

Fixes #6660
2023-06-28 21:50:46 +05:30

33 lines
1.1 KiB
PHP

<?php
namespace Application\Migrations;
use Doctrine\DBAL\Schema\Schema;
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
/**
* Remove wallabag_url from craue_config_setting.
* It has been moved into the parameters.yml.
*/
class Version20170606155640 extends WallabagMigration
{
public function up(Schema $schema): void
{
$this->skipIf(!$schema->hasTable($this->getTable('craue_config_setting')), 'Table already renamed');
$apiUserRegistration = $this->container
->get('doctrine.orm.default_entity_manager')
->getConnection()
->fetchOne('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'wallabag_url'");
$this->skipIf(false === $apiUserRegistration, 'It seems that you already played this migration.');
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'wallabag_url'");
}
public function down(Schema $schema): void
{
$this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('wallabag_url', 'wallabag.me', 'misc')");
}
}