-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
General database deletion strategy #17
Comments
Deleting a row from
|
This is going to be addressed case by case. Deleting an agent label, for example, will quietly cascade to a deletion of that label from all associated agents. Deleting an assignment will quietly cascade to deleting all execution records associated with it. Deleting a repository, on the other hand, won't cascade and won't be allowed until all of the associated assignments are deleted. There needs to be an API to return a list of the objects referring to a given repository. |
In cases where there's a unique identifier that exists on other systems (like agent IDs), the object in question is marked as deleted and internal data is redacted, instead of actually deleting database rows. That prevents the re-use of the identifier whilst keeping the rest of the object effectively invisible. |
Deletion of content should be undoable for a given duration.
Something like:
Reads on the table will not return any rows where
deleted
is non-null. The maintenance service will delete rows wheredeleted
describes a time older than a configurable retention period. Undoing a deletion means settingdeleted
back to null.How are foreign key constraints handled?
The text was updated successfully, but these errors were encountered: