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.

Responder a