From eb896ea36c8010d09f3813f651d4afbe6ee3a128 Mon Sep 17 00:00:00 2001 From: Romain Neutron Date: Wed, 18 Jan 2012 19:53:03 +0100 Subject: [PATCH] Fix upgrade tables --- lib/classes/appbox.class.php | 17 ++++++++++++++++- .../PhraseanetPHPUnitAbstract.class.inc | 8 ++++---- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/lib/classes/appbox.class.php b/lib/classes/appbox.class.php index be84581203..8449425a4e 100644 --- a/lib/classes/appbox.class.php +++ b/lib/classes/appbox.class.php @@ -299,7 +299,7 @@ class appbox extends base public function forceUpgrade(Setup_Upgrade &$upgrader) { - $upgrader->add_steps(7 + count($this->get_databoxes())); + $upgrader->add_steps(8 + count($this->get_databoxes())); $registry = $this->get_registry(); @@ -313,6 +313,21 @@ class appbox extends base } $upgrader->add_steps_complete(1); + + $upgrader->set_current_message(_('Creating new tables')); + $core = bootstrap::getCore(); + $em = $core->getEntityManager(); + //create schema + + if($em->getConnection()->getDatabasePlatform()->supportsAlterTable()) + { + $tool = new \Doctrine\ORM\Tools\SchemaTool($em); + $metas = $em->getMetadataFactory()->getAllMetadata(); + $tool->updateSchema($metas, true); + } + + $upgrader->add_steps_complete(1); + /** * Step 2 */ diff --git a/lib/unitTest/PhraseanetPHPUnitAbstract.class.inc b/lib/unitTest/PhraseanetPHPUnitAbstract.class.inc index 4bdee5e1d7..a61533c63f 100644 --- a/lib/unitTest/PhraseanetPHPUnitAbstract.class.inc +++ b/lib/unitTest/PhraseanetPHPUnitAbstract.class.inc @@ -842,10 +842,6 @@ abstract class PhraseanetPHPUnitAbstract extends WebTestCase unlink(Setup_Upgrade::get_lock_file()); } - $upgrader = new Setup_Upgrade($appbox); - $appbox->forceUpgrade($upgrader); - unset($upgrader); - if (null !== self::$core) { /* @var $em \Doctrine\ORM\EntityManager */ @@ -866,6 +862,10 @@ abstract class PhraseanetPHPUnitAbstract extends WebTestCase $tool->createSchema($metas); } + $upgrader = new Setup_Upgrade($appbox); + $appbox->forceUpgrade($upgrader); + unset($upgrader); + self::$updated = true; }