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(tablename,*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(tablename,*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(tablename,*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>
>>>
>>>

-- 



Reply via email to