Niphlod,
I manually defined the auth tables. However, system is now saying
auth_user already exist.
<class 'fdb.fbcore.DatabaseError'> ('Error while executing SQL
statement:\n- SQLCODE: -607\n- unsuccessful metadata update\n- Table
AUTH_USER already exists', -607, 335544351)
Version
web2py™ Version 2.7.4-stable+timestamp.2013.10.14.15.16.29
Python Python 2.7.5: c:\python27\python.exe (prefix: c:\python27)
Traceback
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Traceback (most recent call last):
File "C:\web2py_src\web2py\gluon\restricted.py", line 217, in restricted
exec ccode in environment
File "C:/web2py_src/web2py/applications/unionhall/models/db.py", line 19,
in <module>
primarykey=['id']
File "C:\web2py_src\web2py\gluon\dal.py", line 7935, in define_table
table = self.lazy_define_table(tablename,*fields,**args)
File "C:\web2py_src\web2py\gluon\dal.py", line 7972, in lazy_define_table
polymodel=polymodel)
File "C:\web2py_src\web2py\gluon\dal.py", line 1002, in create_table
self.create_sequence_and_triggers(query,table)
File "C:\web2py_src\web2py\gluon\dal.py", line 3684, in
create_sequence_and_triggers
self.execute(query)
File "C:\web2py_src\web2py\gluon\dal.py", line 1836, in execute
return self.log_execute(*a, **b)
File "C:\web2py_src\web2py\gluon\dal.py", line 1830, in log_execute
ret = self.cursor.execute(command, *a[1:], **b)
File "c:\python27\lib\site-packages\fdb-1.4-py2.7.egg\fdb\fbcore.py",
line 3323, in execute
self._ps._execute(parameters)
File "c:\python27\lib\site-packages\fdb-1.4-py2.7.egg\fdb\fbcore.py",
line 3024, in _execute
"Error while executing SQL statement:")
DatabaseError: ('Error while executing SQL statement:\n- SQLCODE: -607\n-
unsuccessful metadata update\n- Table AUTH_USER already exists', -607,
335544351)
Error snapshot help
<class 'fdb.fbcore.DatabaseError'>(('Error while executing SQL
statement:\n- SQLCODE: -607\n- unsuccessful metadata update\n- Table
AUTH_USER already exists', -607, 335544351))
I'm really close to finishing this up. Just need to get auth working
correctly, replace the password field since its a reserved word in
Firebird. Also need to figure out what to do with the Role field in
auth_group because firebird used "role" for something. I had to create
field called au_group_role. But don't know how to integrate that into
web2py auth scheme.
db.define_table('auth_user',
Field('id', 'integer', notnull=True),
Field('first_name', 'string', length=128),
Field('last_name', 'string', length=128),
Field('email', 'string', length=512),
Field('registration_key', 'string', length=512),
Field('reset_password_key', 'string', length=512),
primarykey=['id']
)
db.define_table('auth_group',
Field('id', 'integer', notnull=True),
Field('au_grp_role', 'string', length=512),
Field('description', 'text'),
primarykey=['id'])
attempting to use this line to deal with auth_user.password field
auth.settings.password_field = 'passwrd' # In Firebird password is a
reserved word; so using passwrd instead
What can I do about auth_group.role?
Thoughts?
On Sunday, November 10, 2013 6:46:33 AM UTC-6, Niphlod wrote:
>
> Very strange, since fdb is included as an adapter for some time now. I
> guess firebird adoption is definitely not widespread.
> This should be addressed in DAL at creation time.
> Can you provide the syntax that web2py should use vs the sintax that it
> actually uses ? Maybe open a ticket on google code so it doesn't get lost.
>
> On Sunday, November 10, 2013 4:19:28 AM UTC+1, GregD wrote:
>>
>> Niphlod,
>>
>> Thanks for the response. I understand it better now.
>>
>> web2py generates this message
>> DatabaseError: ('Error while executing SQL statement:\n- SQLCODE: -607\n-
>> unsuccessful metadata update\n- Column: ID not defined as NOT NULL - cannot
>> be used in PRIMARY KEY constraint definition', -607, 335544
>>
>> I think its because its trying to create a table with ID as primary key,
>> but it does not include NOT NULL in the creation of the table.
>>
>> this is from the sql.log file:
>> CREATE TABLE auth_user(
>> id INTEGER PRIMARY KEY,
>> first_name VARCHAR(128),
>> last_name VARCHAR(128),
>> email VARCHAR(512),
>> username VARCHAR(128),
>> passwrd VARCHAR(512),
>> registration_key VARCHAR(512),
>> reset_password_key VARCHAR(512),
>> registration_id VARCHAR(512)
>> );
>>
>> firebird will not allow this create statement unless it has NOT NULL
>> added.
>>
>>
>> On Saturday, November 9, 2013 7:00:13 AM UTC-6, Niphlod wrote:
>>>
>>> web2py definitely needs the auth tables to work with any auth backend
>>> (even LDAP).
>>> Of course username and pwd are stored in AD, but AD doesn't have, e.g,
>>> the user id.
>>> web2py uses auth_* tables for dealing with RBAC, and even if you don't
>>> need granular permissions, groups etc, it still has to map a user to a
>>> unique integer(ish) id.
>>> Moreover, auth_* tables assure you that you won't continuously hit the
>>> auth backend once authenticated (sort of a "cached" copy of what is needed
>>> is written into the database).
>>>
>>> You shouldn't have problems with firebird .... what is the exception
>>> your app raises when trying to create the auth tables ?
>>>
>>>
--
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/groups/opt_out.