mirror of
https://github.com/wallabag/wallabag.git
synced 2025-02-16 18:55:15 +00:00
Improve migration
This commit is contained in:
parent
a7e2218e25
commit
9a5231e8c4
1 changed files with 7 additions and 9 deletions
|
@ -26,21 +26,18 @@ class Version20160410190541 extends AbstractMigration implements ContainerAwareI
|
|||
public function up(Schema $schema)
|
||||
{
|
||||
$this->addSql('ALTER TABLE `wallabag_entry` ADD `uuid` LONGTEXT DEFAULT NULL');
|
||||
}
|
||||
|
||||
public function postUp(Schema $schema)
|
||||
{
|
||||
$em = $this->container->get('doctrine.orm.entity_manager');
|
||||
$queryBuilder = $this->connection->createQueryBuilder();
|
||||
$queryBuilder
|
||||
->select('e.uuid')
|
||||
->andWhere('e.uuid IS NULL');
|
||||
$entries = $queryBuilder->execute();
|
||||
$repository = $em->getRepository('WallabagCoreBundle:Entry');
|
||||
$entries = $repository->findAll();
|
||||
|
||||
/** @var Entry $entry */
|
||||
foreach ($entries as $entry) {
|
||||
$entry->generateUuid();
|
||||
$em->persist($entry);
|
||||
$em->clear();
|
||||
$this->addSql('UPDATE `wallabag_entry` SET `uuid` = "'.uniqid('', true).'" WHERE id = '.$entry->getId());
|
||||
}
|
||||
$em->flush();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -48,6 +45,7 @@ class Version20160410190541 extends AbstractMigration implements ContainerAwareI
|
|||
*/
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$this->abortIf($this->connection->getDatabasePlatform()->getName() != 'sqlite', 'This down migration can\'t be executed on SQLite databases, because SQLite don\'t support DROP COLUMN.');
|
||||
$this->addSql('ALTER TABLE `wallabag_entry` DROP `uuid`');
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue