I just installed my first bitten instance with trac 0.11.1. I can add
a configuration in the admin interface, but when I try to add a
platform (button "Add platform", Target platform: "Java", button "Add",
no rules/properties so far), I get an exception:
Traceback (most recent call last):
File "/usr/lib/python2.5/site-packages/trac/web/api.py", line 339,
in send_error
'text/html')
File "/usr/lib/python2.5/site-packages/trac/web/chrome.py", line
702, in render_template
if not req.session or not int(req.session.get('accesskeys', 0)):
File "/usr/lib/python2.5/site-packages/trac/web/api.py", line 169,
in __getattr__
value = self.callbacks[name](self)
File "/usr/lib/python2.5/site-packages/trac/web/main.py", line 257,
in _get_session
return Session(self.env, req)
File "/usr/lib/python2.5/site-packages/trac/web/session.py", line
150, in __init__
self.get_session(req.authname, authenticated=True)
File "/usr/lib/python2.5/site-packages/trac/web/session.py", line
164, in get_session
super(Session, self).get_session(sid, authenticated)
File "/usr/lib/python2.5/site-packages/trac/web/session.py", line
56, in get_session
(sid, int(authenticated)))
File "/usr/lib/python2.5/site-packages/trac/db/util.py", line 50, in execute
return self.cursor.execute(sql_escape_percent(sql), args)
File "/usr/lib/python2.5/site-packages/trac/db/util.py", line 50, in execute
return self.cursor.execute(sql_escape_percent(sql), args)
InternalError: current transaction is aborted, commands ignored until
end of transaction block
Questions:
1. Do I have to define a platform, if I have only one anyway?
2. What's wrong and how can I repair it?
Thanks in advance!
PS: bitten is trunk revision 635, OS is Debian 5.0.
3. Any reason why the 'id' in 'bitten_rule' is of type 'text',
not 'serial' nor 'integer'? Changing the type to serial
solved the problem for me.
Cheers!
Yes, certainly. Do you remember any other casts/type changes
you needed? E.g. shouldn't 'rev' in 'bitten_build' be integer?
Probably not. Many of the distributed version control systems have
hash strings as revision ids.
Ah, sure, UUIDs and such. In this case, the code has to be changed at
other places, because PostgreSQL is not happy with the current state.
There's a ticket which seems to be encompassing the general problem of non-integer columns etc:
http://bitten.edgewall.org/ticket/390
wbell, are you interested in sorting this out?
It would help to have an upgrade script which sorts out the schema mess.
I'm more and more inclined to think that we should have a mass-schema-fixing session so that we can solve all current obvious schema problems in one go rather than in dribs and drabs
David