the whole uri is inspected to determine the prefix of .table files, so when you change the adapter, a migration is triggered. that being said, it's pretty easy to regenerate .table files ... - set fake_migrate_all=True - hit appadmin one time - remove fake_migrate_all=True voilĂ . Optionally you can delete old .table files (the ones pertaining the "old" uri)
On Wednesday, May 6, 2015 at 4:18:59 PM UTC+2, Ian W. Scott wrote: > > To work around my earlier unicode problem (I submitted an issue on Github) > I switched from the pg8000 adapter to the psycopg2 adapter for my postgre > database. Everything works fine as long as I have migrate set to False. But > if I set migrate=True I get this error: > > <class 'psycopg2.ProgrammingError'>(relation "auth_user" already > exists ) > > This is strange because the dal shouldn't be trying to perform any > migrations. Nothing in the model definitions or the db structure was > changed. The only change was the db adapter. Thinking my .table files might > have been corrupted, I tried doing a fake migrate by setting migrate=False > and fake_migrate_all=True, then switching both values again. But nothing > has changed. I'm still getting the same error as long as migrations are > turned on. > > Here's the full traceback: > > Traceback (most recent call last): > File "/home/ian/web/web2py-dev/gluon/restricted.py", line 227, in restricted > exec ccode in environment > File "/home/ian/web/web2py-dev/applications/paideia/models/db.py" > <http://127.0.0.1:8000/admin/default/edit/paideia/models/db.py>, line 192, in > <module> > auth.define_tables() # creates all needed tables > File "/home/ian/web/web2py-dev/gluon/tools.py", line 1893, in define_tables > format='%(first_name)s %(last_name)s (%(id)s)')) > File "/home/ian/web/web2py-dev/gluon/packages/dal/pydal/base.py", line 817, > in define_table > table = self.lazy_define_table(tablename,*fields,**args) > File "/home/ian/web/web2py-dev/gluon/packages/dal/pydal/base.py", line 856, > in lazy_define_table > polymodel=polymodel) > File "/home/ian/web/web2py-dev/gluon/packages/dal/pydal/adapters/base.py", > line 463, in create_table > self.create_sequence_and_triggers(query,table) > File > "/home/ian/web/web2py-dev/gluon/packages/dal/pydal/adapters/postgres.py", > line 86, in create_sequence_and_triggers > self.execute(query) > File "/home/ian/web/web2py-dev/gluon/packages/dal/pydal/adapters/base.py", > line 1326, in execute > return self.log_execute(*a, **b) > File "/home/ian/web/web2py-dev/gluon/packages/dal/pydal/adapters/base.py", > line 1320, in log_execute > ret = self.cursor.execute(command, *a[1:], **b) > ProgrammingError: relation "auth_user" already exists > > -- 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 [email protected]. For more options, visit https://groups.google.com/d/optout.

