Oi Douglas,

Fiz algo parecido, no banco de dados de autenticacao eu tenho uma coluna
com o nome do banco que o usuario usa... ai depois sobrescrevi a classe ORM
para ler da sessão:

class ORM extends Kohana_ORM {
        
        protected function _initialize()
        {
                // Set the object name and plural name
                $this->_object_name = strtolower(substr(get_class($this), 6));
                $this->_object_plural = Inflector::plural($this->_object_name);
        
                if ( ! $this->_errors_filename)
                {
                        $this->_errors_filename = $this->_object_name;
                }
        
                if ( ! is_object($this->_db))
                {
                        if($this->_db_group == 'default')
                        {
                                $this->_db = Database::instance('default', array
                                                (
                                                                'type'       => 
'mysql',*                                                               
'connection' => array(
                                                                                
'hostname'   => Session::instance()->get("config")->host,
                                                                                
'database'   => Session::instance()->get("config")->database,
                                                                                
'username'   => Session::instance()->get("config")->user,
                                                                                
'password'   => Session::instance()->get("config")->password,
                                                                        *       
'persistent' => FALSE,
                                                                ),
                                                                'table_prefix' 
=> '',
                                                                'charset'      
=> 'utf8',
                                                                'caching'      
=> FALSE,
                                                                'profiling'    
=> TRUE,
                                                ));
                        }else{
                                $this->_db = 
Database::instance($this->_db_group);
                        }
                }
        
                if (empty($this->_table_name))
                {
                        // Table name is the same as the object name
                        $this->_table_name = $this->_object_name;
        
                        if ($this->_table_names_plural === TRUE)
                        {
                                // Make the table name plural
                                $this->_table_name = 
Inflector::plural($this->_table_name);
                        }
                }
        
                foreach ($this->_belongs_to as $alias => $details)
                {
                        $defaults['model'] = $alias;
                        $defaults['foreign_key'] = 
$alias.$this->_foreign_key_suffix;
        
                        $this->_belongs_to[$alias] = array_merge($defaults, 
$details);
                }
        
                foreach ($this->_has_one as $alias => $details)
                {
                        $defaults['model'] = $alias;
                        $defaults['foreign_key'] = 
$this->_object_name.$this->_foreign_key_suffix;
        
                        $this->_has_one[$alias] = array_merge($defaults, 
$details);
                }
        
                foreach ($this->_has_many as $alias => $details)
                {
                        $defaults['model'] = Inflector::singular($alias);
                        $defaults['foreign_key'] = 
$this->_object_name.$this->_foreign_key_suffix;
                        $defaults['through'] = NULL;
                        $defaults['far_key'] =
Inflector::singular($alias).$this->_foreign_key_suffix;
        
                        $this->_has_many[$alias] = array_merge($defaults, 
$details);
                }
        
                // Load column information
                $this->reload_columns();
        
                // Clear initial model state
                $this->clear();
        }
        
}


Em 30 de agosto de 2012 08:02, Bernardo - Sudeste Hosting <
[email protected]> escreveu:

> Insere no config do modulo database, deve funcionar.
>
> Pode usar também algo como o:
> Kohana::$environment === Kohana::PRODUCTION,
> Kohana::$environment === Kohana::EMPRESA,
>
>
>
> Em 30 de agosto de 2012 07:08, Douglas J.A.M <[email protected]>escreveu:
>
> Bom dia,
>>
>>     Gostaria de saber como se vocês sabem como eu implementaria um
>> esquema que, dependendo da minha restrição, seleciona o banco e coloca como
>> default, por exemplo:
>>
>> if(SESSION::instance()->get('empresa') == 'X'
>>    setDefaultDB = tal;
>> else
>>    setDefaultDB = tal;
>>
>> Há como no kohana ou vou ter que por um if else em todo canto?
>>
>> Atenciosamente,
>>
>> --
>> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana
>> Php" dos Grupos do Google.
>> Para ver esta discussão na web, acesse
>> https://groups.google.com/d/msg/kohana-php/-/QsHhdPFbKacJ.
>> Para postar neste grupo, envie um e-mail para [email protected]
>> .
>> Para cancelar a inscrição nesse grupo, envie um e-mail para
>> [email protected].
>> Para obter mais opções, visite esse grupo em
>> http://groups.google.com/group/kohana-php?hl=pt-BR.
>>
>
>
>
> --
> Atenciosamente,
> Bernardo Sepulveda de Castro
> ------- ------- ------- -------- -------- --------
> *Rede Sudeste*
> Aqui você não fica sozinho
> www.redesudeste.com.br
>
>
>  --
> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana
> Php" dos Grupos do Google.
> Para postar neste grupo, envie um e-mail para [email protected].
> Para cancelar a inscrição nesse grupo, envie um e-mail para
> [email protected].
> Para obter mais opções, visite esse grupo em
> http://groups.google.com/group/kohana-php?hl=pt-BR.
>



-- 
Rodrigo Monteiro
Sistemas Web
[email protected]
(11) 6267-9366

-- 
Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php" dos 
Grupos do Google.
Para postar neste grupo, envie um e-mail para [email protected].
Para cancelar a inscrição nesse grupo, envie um e-mail para 
[email protected].
Para obter mais opções, visite esse grupo em 
http://groups.google.com/group/kohana-php?hl=pt-BR.

Responder a