I threw up a quick instance of Trac, and installed the milestoneteams
plugin.

I got a similar message on the db upgrade that you did:

MilestoneTeams plugin needs an upgrade
 * Upgrading db
Creating 'milestone_teams' table.
Registering plugin version.
Done upgrading
AttributeError: 'NoneType' object has no attribute 'rollback'
However, the database API changed slightly from Trac 0.11 (which this
plugin is targeted for) and 0.12.  So in the milestone teams plugin, the
author used the old scheme where he requests a db connection, gets a
cursor, then does a few transactions and closes the db connection.

I don't think that the db.close() statement should be there, because as the
db variable goes out of scope and gets garbage collected it automatically
gets a .rollback() call so that it cleans up any transactions that weren't
commited.

So the AttributeError: NoneType [...] error that you saw was the garbage
collector trying to do a rollback on a closed connection.  This was
probably OK for 0.11, but maybe in 0.12 they changed the way they did
transactions to make this incompatible.  I somewhat confirmed this by
removing the lines which have 'db.close()' and I didn't get that error
message.

Even with that error though, I at least had the Milestone Teams
administration panel under the admin tab.

Do you have a link for 'Milestone Teams' under the Ticket System left
navigational menu when you click the admin tab?

This may be a case where the plugin just needs to be upgraded and tested to
the 0.12 database API style to make it more stable in general.  I'd be
willing to do that and submit a patch to the author.  It doesn't look like
there has been much traction and submitted code changes by the author.

I can still offer some advice, but I wouldn't be able to get to that effort
until at least the weekend.

Does anyone else have suggestions?

-Nelson




On Wed, May 9, 2012 at 3:10 AM, Roger Oberholtzer <
[email protected]> wrote:

> On Tue, 2012-05-08 at 20:25 -0400, Nelson Brown wrote:
> > You can use the following in a script in the same dir as your db (for
> > most environments it would be in the db folder):
>
> The script printed this:
>
>        System table where name = 'milestoneteams_plugin_version'
>        (u'milestoneteams_plugin_version', u'1')
>
>
>        milestone_teams table:
>
>
> I am guessing this means the table exists, but is empty. Not sure.
>
>
> --
> Roger Oberholtzer
>
> --
> You received this message because you are subscribed to the Google Groups
> "Trac Users" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/trac-users?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups "Trac 
Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/trac-users?hl=en.

Reply via email to