[SOLVED]duplicate tc_external_id

LATEST Official version.
Questions and discussions - NO ISSUES
FOR ISSUES => http://mantis.testlink.org

Moderators: Amaradana, TurboPT, TL Developers

Post Reply
ThomasPeter
TestLink user
Posts: 5
Joined: Tue Jan 08, 2013 7:09 pm

[SOLVED]duplicate tc_external_id

Post by ThomasPeter »

Hello everyone,
we are encountering a scenario where we have several testcases within one testproject having the same external id.
Of course shis leads to problems when filtering, assigning etc.
It looks like it has something to do with export/import and testcase creation.
What we did so far is:

- use existing TestLink instance (TL1), create testcases on TL1, export all testcases to xml
- setup new TestLink instance (TL2), import all TL1-testcases from xml
- create new testcases on TL2

What I can see now in the datbase of TL2 are several different tests - in the same testproject - sharing the same tc_external_id.
The question here is now how did this happen, how to prevent this in the future.

I have the idea of patching this inside my database by updating the tc_external_id of the testcases to something not used yet.
Will this work or do I break more things by doing so?

Help would be appreciated

edit:
I'm on TestLink 1.9.6 right now
Last edited by ThomasPeter on Tue Apr 16, 2013 1:34 pm, edited 1 time in total.
fman
Member of TestLink Community
Posts: 3123
Joined: Tue Nov 15, 2005 7:19 am

Re: duplicate tc_external_id

Post by fman »

we have had some issues regarding importing and duplicating EXTERNAL ID.
Best thing to do is
look to tc_counter field or something like that on testprojects table.
ALL USERS HAVE TO BE OUT OF TEST LINK
you take this number + 1 and use a TC EXTERNAL ID (on tcversions table)
Proceed this way till you have fixed situation

Please go to mantis and check for latest fixes
ThomasPeter
TestLink user
Posts: 5
Joined: Tue Jan 08, 2013 7:09 pm

Re: duplicate tc_external_id

Post by ThomasPeter »

Thanks for the answer, just to be clear about the proceeding I repeat how I understood your post.

1. disable all user access to testlink
2. update 'tc_external_id' on 'tcversions' to 'tc_counter'+1 of 'testprojects' on a colliding testcase
3. update 'tc_counter' of 'testprojects' to 'tc_counter'+1
4. repeat from 2. until all collisions are resolved
5. reenable user access
ThomasPeter
TestLink user
Posts: 5
Joined: Tue Jan 08, 2013 7:09 pm

Re: duplicate tc_external_id

Post by ThomasPeter »

just a short feedback:

proceeding as stated above seems to solve the problem without negative side effects (so far)
Post Reply