Found couples other issue with IS_IN_DB() declarations in other
controllers...

But I use my own version of lazy_option (
https://github.com/scubism/sqlabs/blob/master/controllers/plugin_lazy_options_widget.py)
and the way field attribute has to be pass is another source of unlazy
table...

Except if refactor it, I guess the only other option is to move the
requires in controller which is not wonderful as it split apart the
models/validators definitions...

I also use to define db set that I use in requires latter that way :

some_set = db(db.tablename.fieldname > 1)

But I am not sure if they are responsible for the unlazyness of the tables
as it difficult to test properly because of the size of my app 150+ tables
and multiples models files... Will make a test case...

At least, I know where to look now, thanks to your help!

Thanks Leonel

Richard



On Tue, Mar 14, 2017 at 4:55 PM, Richard Vézina <ml.richard.vez...@gmail.com
> wrote:

> My app predate auth.signature that why I am not using it, I would had to
> refactor alot of table. But would be good to do it as I would have the
> chance to harmonize, I sometimes don't use signature for less important
> table and my custom signature fields names are not very "clean code" proof
> or sure.
>
> Richard
>
> On Tue, Mar 14, 2017 at 4:50 PM, Richard Vézina <
> ml.richard.vez...@gmail.com> wrote:
>
>> And there must be something else involve as in my app (not the dummy app
>> I packaged) commenting the above not make the defined table become lazy as
>> it does in not_lazy app...
>>
>> :(
>>
>> Richard
>>
>> On Tue, Mar 14, 2017 at 4:35 PM, Richard Vézina <
>> ml.richard.vez...@gmail.com> wrote:
>>
>>> It seems related to as when I comment it all tables are lazy :
>>>
>>> db.auth_user._enable_record_versioning(archive_db=db,
>>>                                        archive_name='auth_user_archive',
>>>                                        current_record='current_record',
>>>                                        is_active='is_active')
>>>
>>> So I guess you are right and it apply to all table even with this syntax
>>> : db.tablename._enable_record_versioning(...)
>>>
>>> Richard
>>>
>>> On Tue, Mar 14, 2017 at 4:20 PM, Richard Vézina <
>>> ml.richard.vez...@gmail.com> wrote:
>>>
>>>> As far as I can understand I am using it properly and not all the
>>>> tables are versionned :
>>>>
>>>> http://web2py.com/books/default/chapter/29/06/the-database-a
>>>> bstraction-layer#Record-versioning
>>>>
>>>> As I set it for auth_user only and not use .enable_record_versioning()
>>>> but ._enable_record_versioning()... Can someone confirm that?
>>>>
>>>> Thanks
>>>>
>>>> Richard
>>>>
>>>> On Tue, Mar 14, 2017 at 4:11 PM, Richard Vézina <
>>>> ml.richard.vez...@gmail.com> wrote:
>>>>
>>>>> About redefine auth tables, I don't know another way to set
>>>>> username=True than :
>>>>>
>>>>> auth.define_tables(username=True)
>>>>>
>>>>> I had in my todo-list to refactor my code to use the new way of
>>>>> customizing auth tables, maybe it would solve this issue if it really is
>>>>> one??
>>>>>
>>>>> Richard
>>>>>
>>>>> On Tue, Mar 14, 2017 at 3:55 PM, Richard Vézina <
>>>>> ml.richard.vez...@gmail.com> wrote:
>>>>>
>>>>>> Good catch for the IS_IN_DB() I wrote this part fast (address book
>>>>>> part) long time ago in a pet app and copy the code in production without
>>>>>> too much double check...
>>>>>>
>>>>>> I am not sure I understand why you say that I record versioning the
>>>>>> whole tables as far as I understand this version only auth_user, no??
>>>>>>
>>>>>> db.auth_user._enable_record_versioning(archive_db=db,
>>>>>>
>>>>>> archive_name='auth_user_archive',
>>>>>>
>>>>>> current_record='current_record',
>>>>>>
>>>>>> is_active='is_active')
>>>>>>
>>>>>> Or you talk about another part of the code?
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>>
>>>>>> Richard
>>>>>>
>>>>>> On Tue, Mar 14, 2017 at 3:42 PM, Richard Vézina <
>>>>>> ml.richard.vez...@gmail.com> wrote:
>>>>>>
>>>>>>> Thanks for the look up... Too many questions at the same time, will
>>>>>>> review my code base on your pin point...
>>>>>>>
>>>>>>> :)
>>>>>>>
>>>>>>> Richard
>>>>>>>
>>>>>>> On Tue, Mar 14, 2017 at 3:28 PM, Leonel Câmara <
>>>>>>> leonelcam...@gmail.com> wrote:
>>>>>>>
>>>>>>>> Ok I've found the problem.
>>>>>>>>
>>>>>>>> You have 2 IS_IN_DB validator calls where you use db.address.id
>>>>>>>> and db.phone_number_kind.id instead of "address.id" and "
>>>>>>>> phone_number_kind.id"
>>>>>>>>
>>>>>>>> But the bigger problem is that you are enabling record versioning
>>>>>>>> for all tables which pretty much makes them all load.
>>>>>>>>
>>>>>>>> Instead of this you can add an on_define to each table where you
>>>>>>>> turn record versioning on for that specific table.
>>>>>>>>
>>>>>>>> def toggle_versioning(table):
>>>>>>>>     table._enable_record_versioning()
>>>>>>>>
>>>>>>>> db.define_table('my_versioned_table',
>>>>>>>>     Field('name'),
>>>>>>>>     on_define=toggle_versioning
>>>>>>>> )
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> By the way why are you defining auth tables in your model and then
>>>>>>>> calling auth.define_tables to define them again, also consider using
>>>>>>>> auth.signature instead of tables_generic_fields.
>>>>>>>>
>>>>>>>> --
>>>>>>>> Resources:
>>>>>>>> - http://web2py.com
>>>>>>>> - http://web2py.com/book (Documentation)
>>>>>>>> - http://github.com/web2py/web2py (Source code)
>>>>>>>> - https://code.google.com/p/web2py/issues/list (Report Issues)
>>>>>>>> ---
>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>> Groups "web2py-users" group.
>>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>>> send an email to web2py+unsubscr...@googlegroups.com.
>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to