Veja orm e kohana_orm Se orm simplesmente extender kohana_orm melhor ainda ..
Vc pode criar um metodo changeDB(Database $db) que altere $_db .. em application/classes/orm.php O que pode ajudar é vc alterar $_db para static protected. Ai ja fica para todos os orms depois do login .. basta lembrar que em Controller::before vc deve setar o banco de acordo com o usuario logado Em 17/01/2012 12:06, "Rodrigo Monteiro Ferreira" <[email protected]> escreveu: > Estou vendo uma solucao nessa linha, o ruim é que sou novato no > framework... > > Mas pensei no seguinte: > > Na model eu consigo alterar livremente o table_name, assim: > > protected $_table_name = 'minha_tabela'; > > E nao deixa: > > protected $_db = 'meu_banco'; > > Acho que tenho que estender o ORM, fazer um metodo "set" para a variavel > db, e ver se tem que alterar a factory para ela nao sobrescrever com o > valor do database.php de qualquer jeito > > Mas não sei nem por onde eu começo...rsrs > > Em 17 de janeiro de 2012 11:43, felipe moraes <[email protected]>escreveu: > >> Com relacao ao banco ... >> >> $_db Database é protected e nao tem uma interface de alteracao. >> >> O que poderia ser feito é pegar o banco via sessao .. pensei o seguinte >> ... >> >> Vc extenderia ORM .. criaria um metodo static que set o banco antes de >> fazer factory() ... ou botaria automatico >> >> Compartilhe sua solucao conosco :) >> Em 17/01/2012 11:20, "felipe moraes" <[email protected]> escreveu: >> >> Rodrigo ... >>> >>> Pq vc nao coloca essa autenticacao como um ws REST e isola autenticacao >>> do restante da aplicacao? >>> Em 17/01/2012 11:17, "Rodrigo Monteiro Ferreira" < >>> [email protected]> escreveu: >>> >>>> Eu preciso disso pq cada cliente tem um binario que roda a cada 2 >>>> minutos procurando no seu proprio db as mensagens para efetuar o disparo... >>>> Entao todos usam o mesmo db para login, mas cada um tem seu proprio db(com >>>> estrutra identica) para o envio de msg. >>>> >>>> Entao tenho que saber como mudo o nome da variavel. >>>> >>>> Em 17 de janeiro de 2012 11:11, tarsis lima >>>> <[email protected]>escreveu: >>>> >>>>> Não entendi por que você precisa salvar o nome da database no banco. >>>>> >>>>> Em 17 de janeiro de 2012 11:08, Get <[email protected]> escreveu: >>>>> >>>>> Creio que você tenha que modificar o arquivo de configuração do banco >>>>>> e usar sessão pra fazer isso aí. >>>>>> >>>>>> Caso contrário o banco vai ser alterado para todos. >>>>>> >>>>>> >>>>>> >>>>>> 2012/1/17 Rodrigo Monteiro Ferreira <[email protected]> >>>>>> >>>>>>> Galera, >>>>>>> >>>>>>> O que eu vou precisar fazer é meio incomum, sera que voces podem me >>>>>>> ajudar? >>>>>>> >>>>>>> Eu tenho um banco de dados só para autenticacao chamado de "user" no >>>>>>> meu "database.php" e nele que diz o nome do meu database "default", algo >>>>>>> como: >>>>>>> >>>>>>> >>>>>>> +----+-----------+----------------------------------+---------------------+ >>>>>>> | id | username | password | database | >>>>>>> >>>>>>> +----+-----------+----------------------------------+---------------------+ >>>>>>> | 1 | rmonteiro | 202cb962ac59075b9 | database_app | >>>>>>> >>>>>>> +----+-----------+----------------------------------+---------------------+ >>>>>>> >>>>>>> depois que logar tenho que mudar o nome do banco no meu >>>>>>> "database.php", algo como: >>>>>>> >>>>>>> conexao['default']['database' ] => 'database_app'; >>>>>>> >>>>>>> Nao sei se ficou muito confuso...rsrs >>>>>>> >>>>>>> >>>>>>> >>>>>>> Em 10 de janeiro de 2012 15:13, tarsis lima >>>>>>> <[email protected]>escreveu: >>>>>>> >>>>>>> nos models com banco diferente do default vc coloca >>>>>>>> protected $_db = 'alternate'; >>>>>>>> >>>>>>>> Substituindo pelo nome do seu banco alternativo; >>>>>>>> >>>>>>>> Em 10 de janeiro de 2012 09:39, Get <[email protected]> escreveu: >>>>>>>> >>>>>>>> Você pode configurar qual base vai usar em cada model. >>>>>>>>> >>>>>>>>> Assim você pode usar o orm normalmente sem se preocupar com o >>>>>>>>> banco. >>>>>>>>> >>>>>>>>> @rafaelget >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> 2012/1/9 felipe moraes <[email protected]> >>>>>>>>> >>>>>>>>>> Eu nunca usei com 2 bancos .. mas deve ter no construtor de orm >>>>>>>>>> ou database o parametro para setar o banco .. default, etc. >>>>>>>>>> >>>>>>>>>> Com certeza em Database vc configura isso .. >>>>>>>>>> >>>>>>>>>> Ja orm nao sei como ficaria para o fw decidir sobre qual banco >>>>>>>>>> deve executar >>>>>>>>>> Em 09/01/2012 19:17, "Rodrigo Monteiro Ferreira" < >>>>>>>>>> [email protected]> escreveu: >>>>>>>>>> >>>>>>>>>> Galera, >>>>>>>>>>> >>>>>>>>>>> Como que faço para trabalhar com 2 db no kohana? >>>>>>>>>>> >>>>>>>>>>> Vi que da para colocar mais de um no arquivo config/database.php: >>>>>>>>>>> >>>>>>>>>>> return array >>>>>>>>>>> ( >>>>>>>>>>> 'default' => array >>>>>>>>>>> ( >>>>>>>>>>> 'type' => 'mysql', >>>>>>>>>>> 'connection' => array( >>>>>>>>>>> /** >>>>>>>>>>> * The following options are available for MySQL: >>>>>>>>>>> * >>>>>>>>>>> * string hostname server hostname, or socket >>>>>>>>>>> * string database database name >>>>>>>>>>> * string username database username >>>>>>>>>>> * string password database password >>>>>>>>>>> * boolean persistent use persistent connections? >>>>>>>>>>> * array variables system variables as "key => value" pairs >>>>>>>>>>> * >>>>>>>>>>> * Ports and sockets may be appended to the hostname. >>>>>>>>>>> */ >>>>>>>>>>> 'hostname' => 'localhost', >>>>>>>>>>> 'database' => 'interface', >>>>>>>>>>> 'username' => 'root', >>>>>>>>>>> 'password' => 'spring123', >>>>>>>>>>> 'persistent' => FALSE, >>>>>>>>>>> ), >>>>>>>>>>> 'table_prefix' => '', >>>>>>>>>>> 'charset' => 'utf8', >>>>>>>>>>> 'caching' => FALSE, >>>>>>>>>>> 'profiling' => TRUE, >>>>>>>>>>> ), >>>>>>>>>>> 'app' => array ( >>>>>>>>>>> 'type' => 'mysql', >>>>>>>>>>> 'connection' => array( >>>>>>>>>>> /** >>>>>>>>>>> * The following options are available for MySQL: >>>>>>>>>>> * >>>>>>>>>>> * string hostname server hostname, or socket >>>>>>>>>>> * string database database name >>>>>>>>>>> * string username database username >>>>>>>>>>> * string password database password >>>>>>>>>>> * boolean persistent use persistent connections? >>>>>>>>>>> * array variables system variables as "key => value" pairs >>>>>>>>>>> * >>>>>>>>>>> * Ports and sockets may be appended to the hostname. >>>>>>>>>>> */ >>>>>>>>>>> 'hostname' => 'localhost', >>>>>>>>>>> 'database' => 'app', >>>>>>>>>>> 'username' => 'root', >>>>>>>>>>> 'password' => '', >>>>>>>>>>> 'persistent' => FALSE, >>>>>>>>>>> ); >>>>>>>>>>> >>>>>>>>>>> Como eu abro uma conexão em cada? >>>>>>>>>>> >>>>>>>>>>> Eu vou precisar tambem que o nome do dabatase "app" venha de uma >>>>>>>>>>> tabela do "interface" alguem sabe como fazer isso? >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Rodrigo Monteiro >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> 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. >>>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> 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. >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> 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. >>>>>> >>>>> >>>>> -- >>>>> 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. >> > > > > -- > 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.
