2014-07-09 16 views
6

Buduję aplikację w Symfony2, gdzie każdy użytkownik otrzymuje własną bazę danych, co oznacza, że ​​wszyscy użytkownicy mają swój własny zestaw referencji bazy danych. Użytkownik nie zna tych poświadczeń, są one przechowywane w aplikacji.Wiele zmiennych połączeń z Propelem i Symfony2

W zależności od tego, który użytkownik jest zalogowany, aplikacja odczytuje poświadczenia użytkownika i przechowuje dane w bazie danych użytkownika.

Używam Propela jako ORM i wiem, że mogę skonfigurować wiele połączeń. Ale wszystkie rozwiązania, które spotkałem, wymagają wcześniejszego poznania szczegółów połączenia, ale nie wiem, co użytkownik będzie rejestrował i logował.

Moje pytanie brzmi: Jak mogę zainicjować właściwe połączenie z bazą danych?

Odpowiedz

5

Przypuśćmy masz już połączenie (jeśli to konieczne, do manekina bazy danych), można zmienić parametry połączenia, wykonując następujące czynności

// Get current configuration 
    $config = \Propel::getConfiguration(); 

    // Change DB configuration 
    $config['datasources']['default']['connection']['dsn'] = 'mysql:host=127.0.0.1;port=3306;dbname=dbname;charset=UTF8'; 
    $config['datasources']['default']['connection']['user'] = 'username'; 
    $config['datasources']['default']['connection']['password'] = 'password'; 

    // Apply configuration 
    \Propel::setConfiguration($config); 
    \Propel::initialize(); 
+0

Dzięki, działa świetnie. – Stan

Powiązane problemy