I want all my auth_tables in a specific schema in PostgreSQL:  wos_2019_1.

I have created a model like this:

db.define_table('auth_user',
    Field('id','id',
          represent=lambda id:SPAN(id,' 
',A('view',_href=URL('auth_user_read',args=id)))),
    Field('username', type='string',
          label='Username'),
    Field('first_name', type='string',
          label='First Name'),
    Field('last_name', type='string',
          label='Last Name'),
    Field('email', type='string',
          label='Email'),
    Field('password', type='password',
          readable=False,
          label='Password'),
    Field('created_on','datetime',default=datetime.datetime.today(),
          label='Created On',writable=False,readable=False),
    Field('modified_on','datetime',default=datetime.datetime.today(),
          label='Modified On',writable=False,readable=False,
          update=datetime.datetime.today()),
    Field('registration_key',default='',
          writable=False,readable=False),
    Field('reset_password_key',default='',
          writable=False,readable=False),
    Field('registration_id', length=64, default=lambda:str(uuid.uuid4()),
          writable=False,readable=False),
    format='%(username)s')

db.auth_user._rname = 'wos_2019_1.auth_user'
db.auth_user.first_name.requires = 
IS_NOT_EMPTY(error_message=auth.messages.is_empty)
db.auth_user.last_name.requires = 
IS_NOT_EMPTY(error_message=auth.messages.is_empty)
db.auth_user.password.requires = CRYPT(key=auth.settings.hmac_key)
db.auth_user.username.requires = IS_NOT_IN_DB(db, db.auth_user.username)
db.auth_user.registration_id.requires = IS_NOT_IN_DB(db, 
db.auth_user.registration_id)
db.auth_user.email.requires = 
(IS_EMAIL(error_message=auth.messages.invalid_email),
                               IS_NOT_IN_DB(db, db.auth_user.email))


# auth.settings.extra_fields['auth_user'] = []
auth.define_tables(username=True, signature=True, migrate = True)

# e-pos van Anthony op web2py-lys 
lt = db._LAZY_TABLES
[lt[t][2].update(rname='wos_2019_1.%s' % t) for t in db.tables if 
t.startswith('auth')]

But still I get:

> Traceback (most recent call last):
>   File "/home/js/py4web/py4web/core.py", line 677, in import_apps
>     module_name, init).load_module()
>   File "<frozen importlib._bootstrap_external>", line 407, in 
> _check_name_wrapper
>   File "<frozen importlib._bootstrap_external>", line 907, in load_module
>   File "<frozen importlib._bootstrap_external>", line 732, in load_module
>   File "<frozen importlib._bootstrap>", line 265, in _load_module_shim
>   File "<frozen importlib._bootstrap>", line 696, in _load
>   File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
>   File "<frozen importlib._bootstrap_external>", line 728, in exec_module
>   File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
>   File "apps/wos_2019_1/__init__.py", line 2, in <module>
>     from . models import db
>   File "apps/wos_2019_1/models.py", line 50, in <module>
>     db.auth_user._rname = 'wos_2019_1.auth_user'
>   File "/usr/local/lib/python3.7/dist-packages/pydal/base.py", line 675, in 
> __getattr__
>     return self.lazy_define_table(tablename, *fields, **kwargs)
>   File "/usr/local/lib/python3.7/dist-packages/pydal/base.py", line 627, in 
> lazy_define_table
>     polymodel=polymodel)
>   File "/usr/local/lib/python3.7/dist-packages/pydal/adapters/base.py", line 
> 798, in create_table
>     return self.migrator.create_table(*args, **kwargs)
>   File "/usr/local/lib/python3.7/dist-packages/pydal/migrator.py", line 282, 
> in create_table
>     self.adapter.create_sequence_and_triggers(query, table)
>   File "/usr/local/lib/python3.7/dist-packages/pydal/adapters/base.py", line 
> 881, in create_sequence_and_triggers
>     self.execute(query)
>   File "/usr/local/lib/python3.7/dist-packages/pydal/adapters/__init__.py", 
> line 67, in wrap
>     return f(*args, **kwargs)
>   File "/usr/local/lib/python3.7/dist-packages/pydal/adapters/base.py", line 
> 413, in execute
>     rv = self.cursor.execute(command, *args[1:], **kwargs)
> psycopg2.errors.DuplicateTable: relation "auth_user" already exists
>
>
In the past the recipe used above did work with web2py.  

How do I convince py4web to put those tables where I want it?

I have checked: there are no auth_* tables in the wos_2019_1-schema.

Regards
Johann

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/web2py/263d5eb2-94ac-4acc-9fb4-cc36e7793075%40googlegroups.com.

Reply via email to