Hi,

I'm currently trying to convert a sqlite to postgres database and i found your 
problem. I use Trac 0.12.2

The solution is to add in trac.ini file the following line in [components] 
section

trac.db.postgres_backend.postgresqlconnector = enabled

Hope that helps....

Regards


-----Original Message-----
From: [email protected] [mailto:[email protected]] On 
Behalf Of Ryan Steele
Sent: mardi 16 août 2011 14:26
To: [email protected]
Subject: Re: [Trac] Re: Migrating from SQLite to PostgreSQL

Cooke, Mark wrote:
>> -----Original Message----- From: [email protected] 
>> [mailto:[email protected]] On Behalf Of Ryan Steele Sent: 15
>> August 2011 20:13 To: [email protected] Subject: Re: [Trac] Re:
>> Migrating from SQLite to PostgreSQL
>> 
>> Cooke, Mark wrote:
>>> Seeing as you sound like someone capable of tinkering with code, what
>>> happens if you try to use pyscopg2 directly from a python prompt to
>>> access the backend dB you setup with that new project earlier?  Lets take
>>> Trac and the script out of this until we know that pyscopg2 works for
>>> your user OK...
>>> 
>>> ~ mark c
>>> 
>> Well, isn't psycopg2 required to perform 'trac-admin /path/to/trac initenv
>> ...' for a PG backend?  Since that worked, I would think that's a valid
>> test, unless you feel differently?
>> 
>> Cheers, Ryan
>> 
> Hmm, yes, I suppose so!  I know nothing about the script you mentioned and at
> the moment I am running out of ideas.  I just checked and someone claims that
> the script worked fine with 0.11 but that the last update was in 2008.
> 
> What is the command line you are using?
> 
> Perhaps someone else can suggest something?
> 
> ~ mark c
> 


I appreciate the help, anyways.  Maybe John Hampton will get a chance to hop in,
since he authored the script.

The command is:
./sqlite2pg.py -e /path/to/trac -p 'postgres://user:pass@localhost:5432/trac'


The stack trace is:
Traceback (most recent call last):
  File "./sqlite2pg.py", line 335, in <module>
    sys.exit(main(sys.argv[1:]))
  File "./sqlite2pg.py", line 331, in main
    Main(opts)
  File "./sqlite2pg.py", line 244, in Main
    pgenv = getPostgreSQLEnvironment(opts)
  File "./sqlite2pg.py", line 209, in getPostgreSQLEnvironment
    cnx = env.get_db_cnx()
  File "/usr/lib/python2.6/dist-packages/trac/env.py", line 285, in
get_db_cnx
    return DatabaseManager(self).get_connection()
  File "/usr/lib/python2.6/dist-packages/trac/db/api.py", line 90, in
get_connection
    connector, args = self._get_connector()
  File "/usr/lib/python2.6/dist-packages/trac/db/api.py", line 131, in
_get_connector
    raise TracError('Unsupported database type "%s"' % scheme)
trac.core.TracError: Unsupported database type "postgres"


The sys.path is:
['/root', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2',
'/usr/lib/python2.6/lib-tk', '/usr/lib/python2.6/lib-old',
'/usr/lib/python2.6/lib-dynload', '/usr/lib/python2.6/dist-packages',
'/usr/lib/python2.6/dist-packages/PIL', '/usr/lib/pymodules/python2.6',
'/usr/lib/pymodules/python2.6/gtk-2.0', 
'/usr/local/lib/python2.6/dist-packages']


The relevant modules are located in the path:
/usr/lib/python2.6/dist-packages/psycopg2
/usr/lib/python2.6/dist-packages/trac
/usr/lib/python2.6/dist-packages/trac/db/postgres_backend.py
/usr/lib/python2.6/dist-packages/trac/db/sqlite_backend.py


Debugging output shows it finds psycopg2, but doesn't load the PG connector:
has_psycopg: True
scheme: postgres
connectors: [<trac.db.sqlite_backend.SQLiteConnector object at 0x1c12b10>]
candidates: []


And, that's the reason it fails - the 'postgres' schema doesn't match any in the
candidates list.  If it's not a path issue, which it appears not to be, I'd
almost say it kinda feels like a namespace issue.  Others have reported this
problem (when the paths are correct), but unfortunately there are no resolutions
out there.


Cheers,
Ryan

-- 
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.

This message and any attachments are intended for the sole use of its addressee.
If you are not the addressee, please immediately notify the sender and then 
destroy the message.
As this message and/or any attachments may have been altered without our 
knowledge, its content is not legally binding on Crédit Agricole Corporate and 
Investment Bank.
All rights reserved.

 
Ce message et ses pièces jointes sont destinés à l'usage exclusif de leur 
destinataire.
Si vous recevez ce message par erreur, merci d'en aviser immédiatement 
l'expéditeur et de le détruire ensuite.
Le présent message pouvant être altéré à notre insu, Crédit Agricole Corporate 
and Investment Bank ne peut pas être engagé par son contenu.
Tous droits réservés.

-- 
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