thanks for the cache info. I think that's the way to go for me. I'll create 
a function to read the connection properties and add the cache decorator 
for the function. It is still just a workaround but at least it should not 
have any performance penalties.

I'm still wondering why such an essential feature is missing...

Alex

Am Montag, 2. April 2012 22:01:08 UTC+2 schrieb Derek:
>
>  @cache('key', 5000, cache.ram)
>
>
> that's how you cache it...
>
>
>
> On Monday, April 2, 2012 1:53:15 AM UTC-7, Carlos Correia wrote:
>>
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> Em 31-03-2012 07:17, Alex escreveu:
>> > ok, I think now I understand how the request_tenant works. So there 
>> would be
>> > just one database for everything but every table is filtered by the 
>> field? If
>> > that is the case that's really not what I want.
>> > 
>> > I also thought about selecting the db by the request.env.http_host etc. 
>> this
>> > also seems like a hack to me but I guess I could live with that... only 
>> problem
>> > is this will not work with cron jobs (accessing the db), at least that 
>> is what I
>> > assume. I'm currently using enviroment variables for the db config but 
>> this
>> > fails now because of the cron jobs (external cron).
>> > 
>> > I'm now thinking of reading the db config from a config file in db.py 
>> but this
>> > also seems like a really bad solution. Then I'd probably have the file 
>> I/O for
>> > every request just to get the db configuration.
>> > 
>>
>> I'm facing the same problem as you (the 'all-in-one' solution doesn't fit
>> either) and the best solution I found so far was to read the DB connection
>> parameters based on a config file.
>>
>> The drawback is that you have to read that file on each request... one 
>> day I'll
>> try to figure how to cache it.
>>
>> An alternative might be a script that changed the URI in models/db.py, 
>> like this
>> one from Francisco Ribeiro:
>>
>> http://www.web2pyslices.com/slice/show/1472/deployment-script-with-inline-code-replacement
>>
>>
>> > Am Samstag, 31. März 2012 03:05:27 UTC+2 schrieb nick name:
>> > 
>> >     The database connection is initialized in models/db.py (assuming 
>> you used
>> >     the wizard to generate your application). Look for the line that 
>> says
>> >     "db=DAL(...)", and make it select the right database according to 
>> your
>> >     request, e.g. request.host, or however else you determine the 
>> configuration
>> >     environment.
>> > 
>> >     Alternatively, you could keep it all in the same database with a
>> >     "request_tenant' field:
>> >     https://groups.google.com/d/topic/web2py/CixV2qflqkk/discussion -
>> > 
>> >     if you add a field such as the following to a table:
>> > 
>> >     ...
>> >        Field('request_tenant', default=request.host),
>> >     ...
>> >     (where the default is however you identify the specific environment)
>> > 
>> >     web2py will add a "and request_tenant=''+request.host+''" to every 
>> query
>> >     relating to that table, and of course would insert it to new 
>> records.
>> >     Effectively, this means every record in a table with such a field 
>> will only
>> >     be seen when the default value of the field in this request is the 
>> same as
>> >     when it was generated. (You can still get all records by either 
>> setting the
>> >     default to None, or adding an "ignore_common_filter=True")
>> > 
>> >     On Friday, March 30, 2012 4:55:16 PM UTC-4, Alex wrote:
>> > 
>> >         Hello,
>> > 
>> >         I need to configure my data source for different instances. 
>> Currently
>> >         this is the last problem preventing me from going productive. I 
>> run my
>> >         application for multiple customer instances and of course the 
>> database
>> >         connection is different for each customer. This issue also 
>> occurs if you
>> >         have a test and a productive environment. I think this is a 
>> fairly
>> >         common use case and necessary for most real world applications, 
>> so I'm
>> >         really surprised that I didn't see any solution for this in 
>> web2py
>> >         (especially since web2py is so easy and powerful for everything 
>> else).
>> >         Or did I just miss something?
>> > 
>> >         Massimo, in case you read this, do you have an advice for me? 
>> is an
>> >         environment configuration a feature that could be added in the 
>> future? I
>> >         think that I read somewhere that web2py developers don't think 
>> this is
>> >         necessary but I really don't understand why.
>> > 
>> >         Is there a workaround for me? I have some ideas but nothing 
>> seems to be
>> >         optimal. I'd prefer to avoid dirty hacks...
>> > 
>> >         thanks,
>> >         Alex
>> > 
>>
>>
>> - -- 
>> Com os melhores cumprimentos,
>>
>> Carlos Correia
>> =========================
>> MEMÓRIA PERSISTENTE, Lda.
>> Tel.: 219 291 591 - GSM:  917 157 146 / 967 511 762
>> e-mail: ge...@memoriapersistente.pt - URL: 
>> http://www.memoriapersistente.pt
>> Jabber: m...@jabber.org
>> GnuPG: wwwkeys.eu.pgp.net
>> URL Suporte (experimental): https://ky.m16e.com (certificado 
>> auto-assinado)
>> -----BEGIN PGP SIGNATURE-----
>> Version: GnuPG v1.4.11 (GNU/Linux)
>> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
>>
>> iEYEARECAAYFAk95aPsACgkQ90uzwjA1SJUfHACeMsGn4Npt70baxB9ZJkuUanIJ
>> EO0AoMlxgT+3Hwc323vzcaqyXjvebGx6
>> =ASOO
>> -----END PGP SIGNATURE-----
>>
>

Reply via email to