RootsMagic 9.0.0.0 was released on Feb 27, 2023 with some new features necessitating changes to the database design. All previous version #database files undergo an upgrade procedure to the RM9 structure and are not backward compatible. However, #RM9 and #RM8 table structures are identical with the following exceptions:
PersonTable
9 new fields named color1, …, color9 have been added in support of the ColorCode sets 1 through 10. The original “color” field is set 1.
FanTable, FanTypeTable
New tables added in support of the new Associations feature. They bear a resemblance, respectively, to the EventTable and FactTypeTable.
PayloadTable
New table added in support of Saved Criteria Search and Saved Criteria Group. So far:
OwnerType
New OwnerType values have been added in support of the new tables. These will be identified as encountered through usage and testing.
Table | RecType | OwnerType | OwnerID | |
Payload | 1 (SavedCriteriaSearch) | 8 | 0 | |
Payload | 2 (SavedCriteriaGroup) | 20 | TagTable.TagValue, GroupTable.GroupID | |
FANTable | 19 | CitationLinkTable, MediaLinkTable,… |
Table Specs
This is a tab-delimited result of a query of the tables.
I’m trying to learn more about the Rootsmagic structure so I mocked up this erd diagram of the tables: https://familytreehelper.us/Rootsmagic/index.html They don’t have any foreign keys on their tables so it doesn’t show how they mesh together.
I assume the PlaceID value in the EventTable refer to the PlaceID value in the PlaceTable? What is the SiteID value?
Yes, EventTable.PlaceID relates to PlaceTable. PlaceID where PlaceType=0 (and likely also 1 for LDS fact type events). SiteID relates to PlaceTable. PlaceID where PlaceType=2, i.e., Place Details.
Perfect! So an Event that is linked to a PlaceDetail (i.e., PlaceType == 2), will have PlaceTable.PlaceID set to the ‘primary’ place, and PlaceTable.SiteID will be set to the PlaceDetail.
Thank you!