2013-02-18 3 views
4

Я новичок в Symfony2. Я разрабатываю сервисную службу, которая должна использовать базу данных для своих нужд.Лучшее место для хранения моего сервиса sqlite db file?

Я хочу, чтобы его данные хранились отдельно от mysql global db, используемого другими службами/пакетами.

Где лучше всего хранить файл db и как указать путь?

Sample (плохо) Код:

class MyCustomService 
{ 
    protected $config; 

    public function __construct(array $config) 
    { 
     $this->config = $config; 
     $this->setupDB(); 
    }  

    private function setupDB() 
    { 
     $config = new \Doctrine\DBAL\Configuration(); 
     $connectionParams = array(
      'driver' => 'pdo_sqlite', 
      'path' => realpath('.') . '\dbmanager.db' 
     );   
     $conn = \Doctrine\DBAL\DriverManager::getConnection($connectionParams, $config); 

     //... 
    } 
} 

Спасибо за вашу помощь

ответ

3
It Shouldn't be in web folder :) 
  • Если дб может удаляться, как и когда вы очистить кэш, приложение/кэш будет в порядке.

  • Если вы хотите постоянную базу данных, то вы можете выбрать где-нибудь в приложении/{имя службы} /db.sqlite «или данные/{имя службы} /db.sqlite»

  • Я предпочел бы передать имя БД в параметрах конфигурации

Также обратите внимание, что при * NIX пользователь вашего веб-сервера/кли должен иметь чтение и запись разрешения на файл базы данных и чтение, запись и выполнить разрешений на каталог, содержащий

+0

Спасибо, я закончил, чтобы указать имя и путь db как параметр конфигурации для пакета, который по умолчанию указывает на каталог sqlite под именем app / – Fred

Смежные вопросы