I have an existing application (with MySQL DB).
I just got a new requirement where I need to delete some records from one of main entity. I dont want to apply hard delete here as its risky for whole application. If I use soft delete I have to add another field is_deleted and because of that i have to update all my queries (like where is_deleted = ‘0’).
Please let me know if there is any smarter way to handle this situation. I have to make changes in half of the queries if I introduce a new flag to handle deletes.
Your application can run without any changes. MySQL is ANSI-SPARC Architecture compliant . With external schema you achieve codd’s rule 9 “Logical data independence”:
You can rename your tables and create views with original table names. A sample:
Let’s supose a table named
my_data:Another way is create a trigger and make a copy of erased rows in independent table.