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.