Vote #62591
完了Problem migrating from multiple trac projects
0%
説明
When multiple trac projects are migrated with @rake redmine:migrate_from_trac@, any project after the first one fails to be migrated. It also appears that no new issues can be created (issues/add page produces 'internal error.') Upon further investigation, both problems appear to be related with the primary key sequences: after the import, the primary key sequence is not reset, and the next object that is created will try to use a duplicate primary key value.
This occurs in a setup using Postgres. I have not tested with any other databases, so it's possible that this problem is particular to Postgres.
journals
I have worked around this problem by modifying @lib/tasks/migrate_from_trac.rake@: I added
<pre>
def self.reset_pk(klass)
klass.connection.reset_pk_sequence!(klass.table_name) if klass.connection.respond_to?('reset_pk_sequence!')
end
</pre>
and for each of the business objects
<pre>
reset_pk WikiContent
reset_pk Wiki
</pre>
etc. After this, I could import multiple projects and create new issues without failure.
--------------------------------------------------------------------------------
This problem was fixed in r1099 for postgresql (it doesn't occur with mysql and sqlite).
Note that only the sequence on the 'issues' table need to be updated.
Btw, I'll change my fix to use reset_sequence! instead. Thanks.
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------