Mailing List Archive

Database upgrade from 0.6.1 to 0.7.1
Hello,

I tried to upgrade my trac system from version 0.6.1 to 0.7.1 on Windows
machine.

I installed new version of trac, changed configuration values and then I
wanted to upgrade database with command tracdb2env.

I recevied this error:

c:\svn>c:\software\python23\python.exe
c:\software\Python23\Scripts\tracdb2env ./trac.db ./tracenv
Traceback (most recent call last):
File "c:\software\Python23\Scripts\tracdb2env", line 102, in ?
db2env(sys.argv[1], sys.argv[2])
File "c:\software\Python23\Scripts\tracdb2env", line 26, in db2env
convert_db(old_cursor, new_cursor)
File "c:\software\Python23\Scripts\tracdb2env", line 81, in convert_db
copy_tuples('permission', old_cursor, new_cursor)
File "c:\software\Python23\Scripts\tracdb2env", line 68, in copy_tuples
to_cursor.execute('INSERT INTO %s VALUES(%s)' \
File "C:\software\Python23\Lib\site-packages\sqlite\main.py", line
255, in execute
self.rs = self.con.db.execute(SQL % parms)
_sqlite.IntegrityError: columns username, action are not unique

Thanks for your help,

Jozef
Database upgrade from 0.6.1 to 0.7.1 [ In reply to ]
Jozef Hovan wrote:
> Hello,
>
> I tried to upgrade my trac system from version 0.6.1 to 0.7.1 on Windows
> machine.
>
> I installed new version of trac, changed configuration values and then I
> wanted to upgrade database with command tracdb2env.
>
> I recevied this error:
>
> c:\svn>c:\software\python23\python.exe
> c:\software\Python23\Scripts\tracdb2env ./trac.db ./tracenv
> Traceback (most recent call last):
> File "c:\software\Python23\Scripts\tracdb2env", line 102, in ?
> db2env(sys.argv[1], sys.argv[2])
> File "c:\software\Python23\Scripts\tracdb2env", line 26, in db2env
> convert_db(old_cursor, new_cursor)
> File "c:\software\Python23\Scripts\tracdb2env", line 81, in convert_db
> copy_tuples('permission', old_cursor, new_cursor)
> File "c:\software\Python23\Scripts\tracdb2env", line 68, in copy_tuples
> to_cursor.execute('INSERT INTO %s VALUES(%s)' \
> File "C:\software\Python23\Lib\site-packages\sqlite\main.py", line 255,
> in execute
> self.rs = self.con.db.execute(SQL % parms)
> _sqlite.IntegrityError: columns username, action are not unique
>
A unique constraint was added to the permission table in Trac 0.7. You
have to use sqlite or trac-admin (from 0.6.1) to remove any duplicated
permission entries.

/ Jonas
--
Jonas Borgstr?m | Edgewall Software
jonas@edgewall.com | Professional GNU/Linux & Open Source Consulting.
| http://www.edgewall.com/
Database upgrade from 0.6.1 to 0.7.1 [ In reply to ]
Thank you Jonas,

it was reason, why it didn't work for me. After deletion duplicate
permision entries, everything works fine.

Jozef

Jonas Borgstr?m wrote:

> Jozef Hovan wrote:
>
>> Hello,
>>
>> I tried to upgrade my trac system from version 0.6.1 to 0.7.1 on
>> Windows machine.
>>
>> I installed new version of trac, changed configuration values and
>> then I wanted to upgrade database with command tracdb2env.
>>
>> I recevied this error:
>>
>> c:\svn>c:\software\python23\python.exe
>> c:\software\Python23\Scripts\tracdb2env ./trac.db ./tracenv
>> Traceback (most recent call last):
>> File "c:\software\Python23\Scripts\tracdb2env", line 102, in ?
>> db2env(sys.argv[1], sys.argv[2])
>> File "c:\software\Python23\Scripts\tracdb2env", line 26, in db2env
>> convert_db(old_cursor, new_cursor)
>> File "c:\software\Python23\Scripts\tracdb2env", line 81, in convert_db
>> copy_tuples('permission', old_cursor, new_cursor)
>> File "c:\software\Python23\Scripts\tracdb2env", line 68, in copy_tuples
>> to_cursor.execute('INSERT INTO %s VALUES(%s)' \
>> File "C:\software\Python23\Lib\site-packages\sqlite\main.py", line
>> 255, in execute
>> self.rs = self.con.db.execute(SQL % parms)
>> _sqlite.IntegrityError: columns username, action are not unique
>>
> A unique constraint was added to the permission table in Trac 0.7. You
> have to use sqlite or trac-admin (from 0.6.1) to remove any duplicated
> permission entries.
>
> / Jonas