Good point. Even better, use lazy_tables. You should also compile the app. On Tuesday, January 15, 2013 8:11:48 AM UTC-5, Paolo valleri wrote: > > Thanks for clarifying it. > So that, to speed up web2py, we must use migrate_enabled=False instead of > migrate=False at DAL definition. Otherwise for all the auth_* tables, > web2py will access the disk to verify if the relative file in > databases/hash_tablename.table exists and is updated, right? > If what I have said is correct I would suggest to update the book, > http://web2py.com/books/default/chapter/29/13#Efficiency-tricks > changing migrate=False with migrate_enabled=False > > Paolo > > > 2013/1/15 Anthony <abas...@gmail.com <javascript:>> > >> DAL(..., migrate=False) does not completely turn off migrations but >> merely sets the default migrate value for each table to False if it is not >> set explicitly. The auth.define_tables() method, however, explicitly sets >> migrate to True for each Auth table unless otherwise specified, so you >> would have to do auth.define_tables(..., migrate=False). Another option is >> to completely disable all migrations, regardless of individual table >> settings, via: >> >> DAL(..., migrate_enabled=False) >> >> Anthony >> >> >> On Tuesday, January 15, 2013 7:35:14 AM UTC-5, Paolo valleri wrote: >>> >>> is on the db definition. >>> db = DAL('postgres://web2py:web2py@**localhost:5432/traffic', >>> migrate=False, >>> lazy_tables=True, >>> ) >>> >>> Paolo >>> >>> On Tuesday, January 15, 2013 11:38:49 AM UTC+1, Niphlod wrote: >>>> >>>> migrate=False is on the db or on Auth define_table() call ? >>>> >>>> >>>> >>>> Il giorno martedì 15 gennaio 2013 11:07:49 UTC+1, Paolo valleri ha >>>> scritto: >>>>> >>>>> Hi all, I tried something odd. >>>>> I pulled a fresh copy of my code from git and I connected the app to >>>>> an already 'working' database. 'working' in the meaning that both tables >>>>> and data are already in the database. In web2py this approach >>>>> fails, because at the first run it tries to create all the tables, and >>>>> the >>>>> db raises an exception like 'table already exist'. >>>>> In order to fix that I thought that migrate=False would help, however >>>>> it fails again. due to Auth that tries to create the tables. Ticket: >>>>> >>>>> Traceback (most recent call last): >>>>> >>>>> >>>>> File "/home/pvalleri/src/web2py/**gluon/restricted.py", line 212, in >>>>> restricted >>>>> >>>>> >>>>> exec ccode in environment >>>>> >>>>> >>>>> File >>>>> "/home/pvalleri/src/web2py/**applications/vtraffic/**controllers/default.py" >>>>> >>>>> <http://127.0.0.1:8000/admin/default/edit/vtraffic/controllers/default.py>, >>>>> line 6, in <module> >>>>> >>>>> >>>>> start = db.record.with_alias('start_**point') >>>>> >>>>> >>>>> File "/home/pvalleri/src/web2py/**gluon/dal.py", line 7221, in >>>>> __getattr__ >>>>> >>>>> >>>>> return self.lazy_define_table(tablena**me,*fields,**args) >>>>> >>>>> >>>>> File "/home/pvalleri/src/web2py/**gluon/dal.py", line 7174, in >>>>> lazy_define_table >>>>> >>>>> >>>>> table = table_class(self, tablename, *fields, **args) >>>>> >>>>> >>>>> File "/home/pvalleri/src/web2py/**gluon/dal.py", line 7594, in __init__ >>>>> >>>>> >>>>> field.requires = sqlhtml_validators(field) >>>>> >>>>> >>>>> File "/home/pvalleri/src/web2py/**gluon/dal.py", line 6338, in >>>>> sqlhtml_validators >>>>> >>>>> >>>>> referenced = db[field_type[10:]] >>>>> >>>>> >>>>> File "/home/pvalleri/src/web2py/**gluon/dal.py", line 7215, in >>>>> __getitem__ >>>>> >>>>> >>>>> return self.__getattr__(str(key)) >>>>> >>>>> >>>>> File "/home/pvalleri/src/web2py/**gluon/dal.py", line 7221, in >>>>> __getattr__ >>>>> >>>>> >>>>> return self.lazy_define_table(tablena**me,*fields,**args) >>>>> >>>>> >>>>> File "/home/pvalleri/src/web2py/**gluon/dal.py", line 7177, in >>>>> lazy_define_table >>>>> >>>>> >>>>> table._create_references() # must follow above line to handle self >>>>> references >>>>> >>>>> >>>>> File "/home/pvalleri/src/web2py/**gluon/dal.py", line 7663, in >>>>> _create_references >>>>> >>>>> >>>>> rtable = db[rtablename] >>>>> >>>>> >>>>> File "/home/pvalleri/src/web2py/**gluon/dal.py", line 7215, in >>>>> __getitem__ >>>>> >>>>> >>>>> return self.__getattr__(str(key)) >>>>> >>>>> >>>>> File "/home/pvalleri/src/web2py/**gluon/dal.py", line 7221, in >>>>> __getattr__ >>>>> >>>>> >>>>> return self.lazy_define_table(tablena**me,*fields,**args) >>>>> >>>>> >>>>> File "/home/pvalleri/src/web2py/**gluon/dal.py", line 7189, in >>>>> lazy_define_table >>>>> >>>>> >>>>> polymodel=polymodel) >>>>> >>>>> >>>>> File "/home/pvalleri/src/web2py/**gluon/dal.py", line 935, in >>>>> create_table >>>>> >>>>> >>>>> self.create_sequence_and_**triggers(query,table) >>>>> >>>>> >>>>> File "/home/pvalleri/src/web2py/**gluon/dal.py", line 2483, in >>>>> create_sequence_and_triggers >>>>> >>>>> >>>>> self.execute(query) >>>>> >>>>> >>>>> File "/home/pvalleri/src/web2py/**gluon/dal.py", line 1709, in execute >>>>> >>>>> >>>>> return self.log_execute(*a, **b) >>>>> >>>>> >>>>> File "/home/pvalleri/src/web2py/**gluon/dal.py", line 1703, in >>>>> log_execute >>>>> >>>>> >>>>> ret = self.cursor.execute(*a, **b) >>>>> >>>>> >>>>> File "/home/pvalleri/src/web2py/**gluon/contrib/pg8000/dbapi.py"**, >>>>> line 246, in _fn >>>>> >>>>> >>>>> return fn(self, *args, **kwargs) >>>>> >>>>> >>>>> File "/home/pvalleri/src/web2py/**gluon/contrib/pg8000/dbapi.py"**, >>>>> line 317, in execute >>>>> >>>>> >>>>> self._execute(operation, args) >>>>> >>>>> >>>>> File "/home/pvalleri/src/web2py/**gluon/contrib/pg8000/dbapi.py"**, >>>>> line 322, in _execute >>>>> >>>>> >>>>> self.cursor.execute(new_query, *new_args) >>>>> >>>>> >>>>> File "/home/pvalleri/src/web2py/**gluon/contrib/pg8000/**interface.py", >>>>> line 399, in execute >>>>> >>>>> >>>>> self._stmt.execute(*args, **kwargs) >>>>> >>>>> >>>>> File "/home/pvalleri/src/web2py/**gluon/contrib/pg8000/**interface.py", >>>>> line 169, in execute >>>>> >>>>> >>>>> self._row_desc, cmd = self.c.bind(self._portal_name, >>>>> self._statement_name, args, self._parse_row_desc, kwargs.get("stream")) >>>>> >>>>> >>>>> File "/home/pvalleri/src/web2py/**gluon/contrib/pg8000/protocol.**py", >>>>> line 943, in _fn >>>>> >>>>> >>>>> return fn(self, *args<span style="color: #660;" class="styled-by... >>>>> >>>>> Mostra originale >>>>> <https://groups.google.com/group/web2py/msg/64de6b8ababbd2a3?dmode=source&output=gplain&noredirect> >>>>> >>>>> -- >> >> >> >> > > > > -- > Paolo >
--