Ranter
Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Comments
-
And this is why you have separate identity and profile tables. Also when will people stop using value fields to indicate deprecation? Just add a nullable deletion date to your table if you can ever think of a scenario where they need to be removed without destroying data - which is to be expected about most tables containing business data.
-
ctnqhk11463y@lbfalvy Unfortunately system A is software from an outside vendor and it doesn’t allow extension like adding an isDeleted property. Stakeholder really messed things up because system A’s data is used in a lot of place.
-
@melezorus34 Nope, a nullable deletion date is more useful because it can also be used to eg. reinstate objects deleted after a given day. In business logic most data should be recoverable and timestamped.
-
@lbfalvy @melezorus34
"data will be completly removed automatically in 30 days" -
@magicMirror add it to a queue table with the reason giver for a column
┐( ∵ )┌
Idk possibilities are endless bcuz I am still a business-virgin.
Also, lb's solution still fits your case perfectly
Me: You decided some records in system A should be obsolete, but the records are tied to active user accounts on the website. Now, I have users emailing and asking why their profile’s last name field says “shell record - do not use.”
Stakeholder: Oh…can’t you stop those profiles from loading? Or redirect the users to the right record in system A? In system A, we set up a relationship between the shell record and the active one.
Me: 😵 Um, no and no. If I stop a user’s profile from on the website, that’s just going to cause more confusion. And the only way to identify those shell record is to look at the last name field, a text field, for that shell record wording. Also, the website uses an API to query data from system A by user id. Whatever record relationship you established isn’t reflected in the vendor’s API. The website can’t get the right record from system A if it doesn’t have the right user id.
devrant
i do not entertain impossible requests
messing up active accounts