4

私はSymfony2が初めてです。独自のニーズに合わせてデータベースを使用する必要があるユーティリティ サービスを開発しています。

そのデータを、他のサービス/バンドルで使用される mysql グローバル データベースから分離しておきたいです。

db ファイルを保存するのに最適な場所とパスの指定方法を教えてください。

サンプル (悪い) コード:

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); 

       //...
    }
}

ご協力いただきありがとうございます

4

1 に答える 1

3
It Shouldn't be in web folder :)
  • キャッシュをクリアするときにデータベースを削除できる場合は、アプリ/キャッシュで問題ありません。

  • 永続的なデータベースが必要な場合は、app/{サービス名}/db.sqlite" または data/{サービス名}/db.sqlite" のどこかを選択できます。

  • 設定オプションでDBの名前を渡したい

また、*NIX では、Web サーバー/cli のユーザーは、データベース ファイルに対する読み取りと書き込みのアクセス許可と、それを含むディレクトリに対する読み取り、書き込み、および実行のアクセス許可を持っている必要があります。

于 2013-02-18T13:34:44.533 に答える