I’m working on setting up DB libs for our organization, which we’re super excited about. There are a couple kinks to work out. One of which is making sure the field values in the symbol in the schematic haven’t deviated from what is in the SQL table, in the event that the SQL table row gets updated or a user changes a property (like MPN for example) in their schematic.
I know that we could just update all symbols and it will overwrite the fields with what’s in the database, which is an okay solution. But I’m curious if there is some way, through an ERC check or similar, to check for mismatches and actually display to the user what the mismatches are, in the edge case where a change to the properties might affect their design. This could either occur in the design or be a part of the jobset I’m setting up for our design release process. I poked around the schematic setup options but didn’t see anything that looked quite right. If it ends up being an external Python script that’s fine, just want to see if there’s a cleaner way to implement it before I go down that path.
For example: User A adds a FET to the DB, but puts the wrong value in for Vgs. The unwitting User B plops it in their design assuming it’s correct (hopefully the review process I’m writing will prevent this, but still). Later, User A fixes the value in the DB, doesn’t tell User B. User B is ready to release their design, so they update all symbols in the schematic. The output tells you that it updated successfully, but doesn’t warn you that there was a mismatch, and User B blows up his FET because he thought the Vgs was 30V instead of 20V.
I know this is super edge case, and ideally we would never allow a mistake to make it to the DB, but I still would like some sort of assurance. I work at an aerospace OEM where I’m trying to convince people that we can use KiCad to ditch Altium (they keep price gouging us on nonsense), but we need to maintain super rigid standards for our designs to deal with the non-stop headache that is FAA conformity.