Onde trabalho usamos variaveis de ambiente para setar qual é o banco default...
Em vez de voce alterar a configuração do grupo 'default' do db, voce pode dizer que outra chave é a default alterando a variável Database::$default. No localhost nossa chave default é 'development' ou a 'tests'. 2012/8/30 Rodrigo Monteiro Ferreira <[email protected]> > 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. > -- 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.
