From eeb9a0f9ebf659a6d2455b047ae86c17c4f48546 Mon Sep 17 00:00:00 2001 From: Manuel Raynaud Date: Mon, 16 Sep 2013 20:42:18 +0200 Subject: [PATCH] use sqlite database for install process --- core/lib/Thelia/Core/Thelia.php | 39 ++++++++++++++++++++------------ install/thelia.sqlite | Bin 0 -> 262144 bytes 2 files changed, 24 insertions(+), 15 deletions(-) create mode 100644 install/thelia.sqlite diff --git a/core/lib/Thelia/Core/Thelia.php b/core/lib/Thelia/Core/Thelia.php index eb560a484..b446af221 100755 --- a/core/lib/Thelia/Core/Thelia.php +++ b/core/lib/Thelia/Core/Thelia.php @@ -69,23 +69,32 @@ class Thelia extends Kernel protected function initPropel() { - if (file_exists(THELIA_ROOT . '/local/config/database.yml') === false) { - return ; + if (defined('THELIA_INSTALL_MODE') === true) { + $serviceContainer = Propel::getServiceContainer(); + $serviceContainer->setAdapterClass('thelia', 'sqlite'); + $manager = new ConnectionManagerSingle(); + $manager->setConfiguration(array( + "classname" => "\Propel\Runtime\Connection\PropelPDO", + "dsn" => "sqlite:".THELIA_ROOT . "/install/thelia.sqlite" + )); + $serviceContainer->setConnectionManager('thelia', $manager); + } else { + $definePropel = new DefinePropel(new DatabaseConfiguration(), + Yaml::parse(THELIA_ROOT . '/local/config/database.yml')); + $serviceContainer = Propel::getServiceContainer(); + $serviceContainer->setAdapterClass('thelia', 'mysql'); + $manager = new ConnectionManagerSingle(); + $manager->setConfiguration($definePropel->getConfig()); + $serviceContainer->setConnectionManager('thelia', $manager); + $con = Propel::getConnection(\Thelia\Model\Map\ProductTableMap::DATABASE_NAME); + $con->setAttribute(ConnectionWrapper::PROPEL_ATTR_CACHE_PREPARES, true); + if ($this->isDebug()) { + $serviceContainer->setLogger('defaultLogger', \Thelia\Log\Tlog::getInstance()); + $con->useDebug(true); + } } - $definePropel = new DefinePropel(new DatabaseConfiguration(), - Yaml::parse(THELIA_ROOT . '/local/config/database.yml')); - $serviceContainer = Propel::getServiceContainer(); - $serviceContainer->setAdapterClass('thelia', 'mysql'); - $manager = new ConnectionManagerSingle(); - $manager->setConfiguration($definePropel->getConfig()); - $serviceContainer->setConnectionManager('thelia', $manager); - $con = Propel::getConnection(\Thelia\Model\Map\ProductTableMap::DATABASE_NAME); - $con->setAttribute(ConnectionWrapper::PROPEL_ATTR_CACHE_PREPARES, true); - if ($this->isDebug()) { - $serviceContainer->setLogger('defaultLogger', \Thelia\Log\Tlog::getInstance()); - $con->useDebug(true); - } + } /** diff --git a/install/thelia.sqlite b/install/thelia.sqlite new file mode 100644 index 0000000000000000000000000000000000000000..65d4cb6a9fb8af1ef1ccd4edbb66f4072e3e8d00 GIT binary patch literal 262144 zcmeI*&u=4F9RTpL_eXw+DE*; zVeaw2gQ@+`f=~bU>2H4im!Hi%{?GnrkAHtzhiSEM%U%Kd3)!$BkjH7k3)_wbtFYI};aEOO>cpjlyc_hpSOI z(KK6_4U?nQ3|Gq4=-sFime;Fcd2@Aj@wlPgZPeRw_(7?%^j@h_xK|ACN6V$n)oQp9 zcWRp(3m5u#>bqyXzkRPb8s$M{Wvx`%3V#%Bg@smgaWv{l-JlNR<|==veB3i_iN2~yFP3W!s<$SD_PEy z-|EFle6yCk)w{Z~7Hw2ZYY#>(!@cHHEwjZZA6}oz-MW?e<%`D@?Rw`?`nfSdkkb@RViPJF|N8-gv8}Db-HiVm{urry+yZ?&XbXdBgPdrvRbV5d9m*E`Mrmvw56#_2yDe%Ts6d&L{ixw5}_>)KTA&YjHB zYokrx?QFLmjh+@~#p@I6oNt`9R?_Zz*| zUb=D5S2uR*d)<6kjecBBqLM@hqi)09QDyN#_Ga$YS2J73b3VDV`|-!a7-;%1q^6c_s7Y;GDxK(d@(sC)r<2{QS)wPTbw$1WNjYqa?z{PTcrO zVX(g!cee}qMX=e==Aorh-4Mw};Q}J!-koy`MhrE2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5V+z3U&~&*ooNhvy|~lZ&rWBq-O9A%Lf|{u7lLoRmzT97sEH-&b$zO^E7TciCgZ~JAeFbz183DZTD)+ zmCGXMlDxAAe+~}*o}3&62oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkL{ zY6*NjI}^M-Kb4sdg3XQl-}?SP3jh4WuRkhg=QBzD%QG`GK@e?LK0o^1T$=ac)k