Author Topic: Incompatibility in CreateBaseline method betweet versions?  (Read 4661 times)

Mauricio Moya (Arquesoft)

  • EA User
  • **
  • Posts: 341
  • Karma: +8/-4
  • EA Consulting and development in Spanish
    • View Profile
    • Arquehub Azure Module
Hi, I have just noted some inconsistent data in a SQLServer model about baselines.

I've been using in the last weeks different versions of EA (Build 1310, Build 1351, Build 1352, 14 Beta 1, 14 RC 1, Build 1418 and Build 1419).

I have a script that creates baselines for a list of package GUIDs. I've run the scripts periodically and it used to work by april 10.

Now, I noted that data is inconsistent in the database, for the following reason:
Table t_document is supposed to store the baselines. I had several data in which column 'ElementID' stores the GUID of the package with the baseline, and the column 'DocType' stores the string 'Baseline'.

But now, I have data of table t_document modified and the same entries (recognized for DocID field) have now another data for column 'ElementID' (not a real element guid), and field 'DocType' now stores the string 'BaselineOf='{THEGUIDOFTHEPACKAGEWITHTHEBASELINE};'

Obvuiosly, EA does not detect this modified entries as baselines of the package, so the baseline list for all my packages are empty, but I still can see the entries in the database.

Any idea of what to do? what make this happen?

(I know a solution is to restore the 'ElementID' entries based on 'DocType' entries but I need to know what make this happen).

Mauricio Moya (Arquesoft)

  • EA User
  • **
  • Posts: 341
  • Karma: +8/-4
  • EA Consulting and development in Spanish
    • View Profile
    • Arquehub Azure Module
Re: Incompatibility in CreateBaseline method betweet versions?
« Reply #1 on: May 16, 2018, 02:37:52 am »
I could 'unhide' the hidden baselines by executing the following SQL in the database:

UPDATE t_document SET ElementID = SUBSTRING(DocType,12,38), DocType = 'Baseline' WHERE DocType LIKE 'BaselineOf={%};'

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +396/-301
  • I'm no guru at all
    • View Profile
Re: Incompatibility in CreateBaseline method betweet versions?
« Reply #2 on: May 16, 2018, 04:47:16 am »
You should report that as bug.

q.

Mauricio Moya (Arquesoft)

  • EA User
  • **
  • Posts: 341
  • Karma: +8/-4
  • EA Consulting and development in Spanish
    • View Profile
    • Arquehub Azure Module
Re: Incompatibility in CreateBaseline method betweet versions?
« Reply #3 on: May 16, 2018, 04:57:33 am »
I did it!

sparks

  • EA Administrator
  • EA User
  • *****
  • Posts: 686
  • Karma: +4/-2
    • View Profile
Re: Incompatibility in CreateBaseline method betweet versions?
« Reply #4 on: May 16, 2018, 09:44:54 am »
Baselines with the 'BaselineOf=' setting have been moved aside during XMI export. The only reason they should still be around is the EA crashed or was killed during an import.

EntArch123

  • EA Novice
  • *
  • Posts: 2
  • Karma: +0/-0
    • View Profile
Re: Incompatibility in CreateBaseline method betweet versions?
« Reply #5 on: October 19, 2018, 03:43:15 am »
I did abort a baseline restore, and to fix it i performed the changes manually using Access as described above, this restored my baselines. However, after some time and an integrity check all the baselines disappeared even from the t_document! I contacted Sparx and they confirmed this is an issue and should be fixed in later versions. However, I no longer have the old baselines. I am wondering if anyone knows of a fix? And I would suggest anyone who performs the edits to the t_document table, to export your baselines to xml immediately for safe keeping, as they may disappear.

Mauricio Moya (Arquesoft)

  • EA User
  • **
  • Posts: 341
  • Karma: +8/-4
  • EA Consulting and development in Spanish
    • View Profile
    • Arquehub Azure Module
Re: Incompatibility in CreateBaseline method betweet versions?
« Reply #6 on: October 19, 2018, 05:19:47 am »
Even when using baselines, it is recommended you have a different backup system for your model. If you are working on an EAP file-based repository you should have copies of your file in case of crash or easy restore of data (sometimes it is easier to restore a file than restore from a baseline).

If you are using a DBMS repository, you should have backups of the database in case something fails.

Obviously, saying this is too late for you, but it is the recommendation for you and the other people reading this post.